<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>User Service Plugin Readme</title>
<style type="text/css">
article,aside,details,figcaption,figure,footer,header,hgroup,main,nav,section,summary{display:block}
audio,canvas,video{display:inline-block}
audio:not([controls]){display:none;height:0}
[hidden]{display:none}
html{font-family:sans-serif;-webkit-text-size-adjust:100%;-ms-text-size-adjust:100%}
body{margin:0}
a:focus{outline:thin dotted}
a:active,a:hover{outline:0}
h1{font-size:2em;margin:0.67em 0}
abbr[title]{border-bottom:1px dotted}
b,strong{font-weight:bold}
dfn{font-style:italic}
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0}
mark{background:#ff0;color:#000}
code,kbd,pre,samp{font-family:monospace, serif;font-size:1em}
pre{white-space:pre-wrap}
q{quotes:"\201C" "\201D" "\2018" "\2019"}
small{font-size:80%}
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}
sup{top:-0.5em}
sub{bottom:-0.25em}
img{border:0}
svg:not(:root){overflow:hidden}
figure{margin:0}
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}
legend{border:0;padding:0}
button,input,select,textarea{font-family:inherit;font-size:100%;margin:0}
button,input{line-height:normal}
button,select{text-transform:none}
button,html input[type="button"],input[type="reset"],input[type="submit"]{-webkit-appearance:button;cursor:pointer}
button[disabled],html input[disabled]{cursor:default}
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;padding:0}
input[type="search"]{-webkit-appearance:textfield;-moz-box-sizing:content-box;-webkit-box-sizing:content-box;box-sizing:content-box}
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}
textarea{overflow:auto;vertical-align:top}
table{border-collapse:collapse;border-spacing:0}
@media print{*{text-shadow:none !important;color:#000 !important;background:transparent !important;box-shadow:none !important} a,a:visited{text-decoration:underline} a[href]:after{content:" (" attr(href) ")"} abbr[title]:after{content:" (" attr(title) ")"} .ir a:after,a[href^="javascript:"]:after,a[href^="#"]:after{content:""} pre,blockquote{border:1px solid #999;page-break-inside:avoid} thead{display:table-header-group} tr,img{page-break-inside:avoid} img{max-width:100% !important} @page {margin:2cm .5cm}p,h2,h3{orphans:3;widows:3} h2,h3{page-break-after:avoid} .navbar{display:none} .table td,.table th{background-color:#fff !important} .btn>.caret,.dropup>.btn>.caret{border-top-color:#000 !important} .label{border:1px solid #000} .table{border-collapse:collapse !important} .table-bordered th,.table-bordered td{border:1px solid #ddd !important}}*,*:before,*:after{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
html{font-size:62.5%;-webkit-tap-highlight-color:rgba(0,0,0,0)}
body{font-family:'Open Sans',"Trebuchet MS",Helvetica,sans-serif;font-size:14px;line-height:1.428571429;color:#000;background-color:#fff}
input,button,select,textarea{font-family:inherit;font-size:inherit;line-height:inherit}
button,input,select[multiple],textarea{background-image:none}
a{color:#428bca;text-decoration:none}a:hover,a:focus{color:#2a6496;text-decoration:underline}
a:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
img{vertical-align:middle}
.img-responsive{display:block;max-width:100%;height:auto}
.img-rounded{border-radius:6px}
.img-thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto}
.img-circle{border-radius:50%}
hr{margin-top:20px;margin-bottom:20px;border:0;border-top:1px solid #eee}
.sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);border:0}
p{margin:0 0 10px}
.lead{margin-bottom:20px;font-size:16.099999999999998px;font-weight:200;line-height:1.4}@media (min-width:768px){.lead{font-size:21px}}
small{font-size:85%}
cite{font-style:normal}
.text-muted{color:#999}
.text-primary{color:#428bca}
.text-warning{color:#c09853}
.text-danger{color:#b94a48}
.text-success{color:#468847}
.text-info{color:#3a87ad}
.text-left{text-align:left}
.text-right{text-align:right}
.text-center{text-align:center}
h1,h2,h3,h4,h5,h6,.h1,.h2,.h3,.h4,.h5,.h6{font-family:'Open Sans',"Trebuchet MS",Helvetica,sans-serif;font-weight:500;line-height:1.1}h1 small,h2 small,h3 small,h4 small,h5 small,h6 small,.h1 small,.h2 small,.h3 small,.h4 small,.h5 small,.h6 small{font-weight:normal;line-height:1;color:#999}
h1,h2,h3{margin-top:20px;margin-bottom:10px}
h4,h5,h6{margin-top:10px;margin-bottom:10px}
h1,.h1{font-size:36px}
h2,.h2{font-size:30px}
h3,.h3{font-size:24px}
h4,.h4{font-size:18px}
h5,.h5{font-size:14px}
h6,.h6{font-size:12px}
h1 small,.h1 small{font-size:24px}
h2 small,.h2 small{font-size:18px}
h3 small,.h3 small,h4 small,.h4 small{font-size:14px}
.page-header{padding-bottom:9px;margin:40px 0 20px;border-bottom:1px solid #eee}
ul,ol{margin-top:0;margin-bottom:10px}ul ul,ol ul,ul ol,ol ol{margin-bottom:0}
.list-unstyled{padding-left:0;list-style:none}
.list-inline{padding-left:0;list-style:none}.list-inline>li{display:inline-block;padding-left:5px;padding-right:5px}
dl{margin-bottom:20px}
dt,dd{line-height:1.428571429}
dt{font-weight:bold}
dd{margin-left:0}
@media (min-width:768px){.dl-horizontal dt{float:left;width:160px;clear:left;text-align:right;overflow:hidden;text-overflow:ellipsis;white-space:nowrap} .dl-horizontal dd{margin-left:180px}.dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table;} .dl-horizontal dd:after{clear:both} .dl-horizontal dd:before,.dl-horizontal dd:after{content:" ";display:table;} .dl-horizontal dd:after{clear:both}}abbr[title],abbr[data-original-title]{cursor:help;border-bottom:1px dotted #999}
abbr.initialism{font-size:90%;text-transform:uppercase}
blockquote{padding:10px 20px;margin:0 0 20px;border-left:5px solid #eee}blockquote p{font-size:17.5px;font-weight:300;line-height:1.25}
blockquote p:last-child{margin-bottom:0}
blockquote small{display:block;line-height:1.428571429;color:#999}blockquote small:before{content:'\2014 \00A0'}
blockquote.pull-right{padding-right:15px;padding-left:0;border-right:5px solid #eee;border-left:0}blockquote.pull-right p,blockquote.pull-right small{text-align:right}
blockquote.pull-right small:before{content:''}
blockquote.pull-right small:after{content:'\00A0 \2014'}
q:before,q:after,blockquote:before,blockquote:after{content:""}
address{display:block;margin-bottom:20px;font-style:normal;line-height:1.428571429}
code,pre{font-family:Monaco,Menlo,Consolas,"Courier New",monospace}
code{padding:2px 4px;font-size:90%;color:#000;background-color:rgba(0,0,0,0.04);white-space:nowrap;border-radius:4px}
pre{display:block;padding:9.5px;margin:0 0 10px;font-size:13px;line-height:1.428571429;word-break:break-all;word-wrap:break-word;color:#333;background-color:#f8f8f8;border:1px solid #eee;border-radius:4px}pre.prettyprint{margin-bottom:20px}
pre code{padding:0;font-size:inherit;color:inherit;white-space:pre-wrap;background-color:transparent;border:0}
.pre-scrollable{max-height:340px;overflow-y:scroll}
.container{margin-right:auto;margin-left:auto;padding-left:15px;padding-right:15px}.container:before,.container:after{content:" ";display:table;}
.container:after{clear:both}
.container:before,.container:after{content:" ";display:table;}
.container:after{clear:both}
.row{margin-left:-15px;margin-right:-15px}.row:before,.row:after{content:" ";display:table;}
.row:after{clear:both}
.row:before,.row:after{content:" ";display:table;}
.row:after{clear:both}
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11,.col-xs-12,.col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11,.col-sm-12,.col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11,.col-md-12,.col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11,.col-lg-12{position:relative;min-height:1px;padding-left:15px;padding-right:15px}
.col-xs-1,.col-xs-2,.col-xs-3,.col-xs-4,.col-xs-5,.col-xs-6,.col-xs-7,.col-xs-8,.col-xs-9,.col-xs-10,.col-xs-11{float:left}
.col-xs-1{width:8.333333333333332%}
.col-xs-2{width:16.666666666666664%}
.col-xs-3{width:25%}
.col-xs-4{width:33.33333333333333%}
.col-xs-5{width:41.66666666666667%}
.col-xs-6{width:50%}
.col-xs-7{width:58.333333333333336%}
.col-xs-8{width:66.66666666666666%}
.col-xs-9{width:75%}
.col-xs-10{width:83.33333333333334%}
.col-xs-11{width:91.66666666666666%}
.col-xs-12{width:100%}
@media (min-width:768px){.container{max-width:750px} .col-sm-1,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-10,.col-sm-11{float:left} .col-sm-1{width:8.333333333333332%} .col-sm-2{width:16.666666666666664%} .col-sm-3{width:25%} .col-sm-4{width:33.33333333333333%} .col-sm-5{width:41.66666666666667%} .col-sm-6{width:50%} .col-sm-7{width:58.333333333333336%} .col-sm-8{width:66.66666666666666%} .col-sm-9{width:75%} .col-sm-10{width:83.33333333333334%} .col-sm-11{width:91.66666666666666%} .col-sm-12{width:100%} .col-sm-push-1{left:8.333333333333332%} .col-sm-push-2{left:16.666666666666664%} .col-sm-push-3{left:25%} .col-sm-push-4{left:33.33333333333333%} .col-sm-push-5{left:41.66666666666667%} .col-sm-push-6{left:50%} .col-sm-push-7{left:58.333333333333336%} .col-sm-push-8{left:66.66666666666666%} .col-sm-push-9{left:75%} .col-sm-push-10{left:83.33333333333334%} .col-sm-push-11{left:91.66666666666666%} .col-sm-pull-1{right:8.333333333333332%} .col-sm-pull-2{right:16.666666666666664%} .col-sm-pull-3{right:25%} .col-sm-pull-4{right:33.33333333333333%} .col-sm-pull-5{right:41.66666666666667%} .col-sm-pull-6{right:50%} .col-sm-pull-7{right:58.333333333333336%} .col-sm-pull-8{right:66.66666666666666%} .col-sm-pull-9{right:75%} .col-sm-pull-10{right:83.33333333333334%} .col-sm-pull-11{right:91.66666666666666%} .col-sm-offset-1{margin-left:8.333333333333332%} .col-sm-offset-2{margin-left:16.666666666666664%} .col-sm-offset-3{margin-left:25%} .col-sm-offset-4{margin-left:33.33333333333333%} .col-sm-offset-5{margin-left:41.66666666666667%} .col-sm-offset-6{margin-left:50%} .col-sm-offset-7{margin-left:58.333333333333336%} .col-sm-offset-8{margin-left:66.66666666666666%} .col-sm-offset-9{margin-left:75%} .col-sm-offset-10{margin-left:83.33333333333334%} .col-sm-offset-11{margin-left:91.66666666666666%}}@media (min-width:992px){.container{max-width:970px} .col-md-1,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-10,.col-md-11{float:left} .col-md-1{width:8.333333333333332%} .col-md-2{width:16.666666666666664%} .col-md-3{width:25%} .col-md-4{width:33.33333333333333%} .col-md-5{width:41.66666666666667%} .col-md-6{width:50%} .col-md-7{width:58.333333333333336%} .col-md-8{width:66.66666666666666%} .col-md-9{width:75%} .col-md-10{width:83.33333333333334%} .col-md-11{width:91.66666666666666%} .col-md-12{width:100%} .col-md-push-0{left:auto} .col-md-push-1{left:8.333333333333332%} .col-md-push-2{left:16.666666666666664%} .col-md-push-3{left:25%} .col-md-push-4{left:33.33333333333333%} .col-md-push-5{left:41.66666666666667%} .col-md-push-6{left:50%} .col-md-push-7{left:58.333333333333336%} .col-md-push-8{left:66.66666666666666%} .col-md-push-9{left:75%} .col-md-push-10{left:83.33333333333334%} .col-md-push-11{left:91.66666666666666%} .col-md-pull-0{right:auto} .col-md-pull-1{right:8.333333333333332%} .col-md-pull-2{right:16.666666666666664%} .col-md-pull-3{right:25%} .col-md-pull-4{right:33.33333333333333%} .col-md-pull-5{right:41.66666666666667%} .col-md-pull-6{right:50%} .col-md-pull-7{right:58.333333333333336%} .col-md-pull-8{right:66.66666666666666%} .col-md-pull-9{right:75%} .col-md-pull-10{right:83.33333333333334%} .col-md-pull-11{right:91.66666666666666%} .col-md-offset-0{margin-left:0} .col-md-offset-1{margin-left:8.333333333333332%} .col-md-offset-2{margin-left:16.666666666666664%} .col-md-offset-3{margin-left:25%} .col-md-offset-4{margin-left:33.33333333333333%} .col-md-offset-5{margin-left:41.66666666666667%} .col-md-offset-6{margin-left:50%} .col-md-offset-7{margin-left:58.333333333333336%} .col-md-offset-8{margin-left:66.66666666666666%} .col-md-offset-9{margin-left:75%} .col-md-offset-10{margin-left:83.33333333333334%} .col-md-offset-11{margin-left:91.66666666666666%}}@media (min-width:1200px){.container{max-width:1170px} .col-lg-1,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-10,.col-lg-11{float:left} .col-lg-1{width:8.333333333333332%} .col-lg-2{width:16.666666666666664%} .col-lg-3{width:25%} .col-lg-4{width:33.33333333333333%} .col-lg-5{width:41.66666666666667%} .col-lg-6{width:50%} .col-lg-7{width:58.333333333333336%} .col-lg-8{width:66.66666666666666%} .col-lg-9{width:75%} .col-lg-10{width:83.33333333333334%} .col-lg-11{width:91.66666666666666%} .col-lg-12{width:100%} .col-lg-push-0{left:auto} .col-lg-push-1{left:8.333333333333332%} .col-lg-push-2{left:16.666666666666664%} .col-lg-push-3{left:25%} .col-lg-push-4{left:33.33333333333333%} .col-lg-push-5{left:41.66666666666667%} .col-lg-push-6{left:50%} .col-lg-push-7{left:58.333333333333336%} .col-lg-push-8{left:66.66666666666666%} .col-lg-push-9{left:75%} .col-lg-push-10{left:83.33333333333334%} .col-lg-push-11{left:91.66666666666666%} .col-lg-pull-0{right:auto} .col-lg-pull-1{right:8.333333333333332%} .col-lg-pull-2{right:16.666666666666664%} .col-lg-pull-3{right:25%} .col-lg-pull-4{right:33.33333333333333%} .col-lg-pull-5{right:41.66666666666667%} .col-lg-pull-6{right:50%} .col-lg-pull-7{right:58.333333333333336%} .col-lg-pull-8{right:66.66666666666666%} .col-lg-pull-9{right:75%} .col-lg-pull-10{right:83.33333333333334%} .col-lg-pull-11{right:91.66666666666666%} .col-lg-offset-0{margin-left:0} .col-lg-offset-1{margin-left:8.333333333333332%} .col-lg-offset-2{margin-left:16.666666666666664%} .col-lg-offset-3{margin-left:25%} .col-lg-offset-4{margin-left:33.33333333333333%} .col-lg-offset-5{margin-left:41.66666666666667%} .col-lg-offset-6{margin-left:50%} .col-lg-offset-7{margin-left:58.333333333333336%} .col-lg-offset-8{margin-left:66.66666666666666%} .col-lg-offset-9{margin-left:75%} .col-lg-offset-10{margin-left:83.33333333333334%} .col-lg-offset-11{margin-left:91.66666666666666%}}table{max-width:100%;background-color:transparent}
th{text-align:left}
.table{width:100%;margin-bottom:20px}.table thead>tr>th,.table tbody>tr>th,.table tfoot>tr>th,.table thead>tr>td,.table tbody>tr>td,.table tfoot>tr>td{padding:8px;line-height:1.428571429;vertical-align:top;border-top:1px solid #ddd}
.table thead>tr>th{vertical-align:bottom;border-bottom:2px solid #ddd}
.table caption+thead tr:first-child th,.table colgroup+thead tr:first-child th,.table thead:first-child tr:first-child th,.table caption+thead tr:first-child td,.table colgroup+thead tr:first-child td,.table thead:first-child tr:first-child td{border-top:0}
.table tbody+tbody{border-top:2px solid #ddd}
.table .table{background-color:#fff}
.table-condensed thead>tr>th,.table-condensed tbody>tr>th,.table-condensed tfoot>tr>th,.table-condensed thead>tr>td,.table-condensed tbody>tr>td,.table-condensed tfoot>tr>td{padding:5px}
.table-bordered{border:1px solid #ddd}.table-bordered>thead>tr>th,.table-bordered>tbody>tr>th,.table-bordered>tfoot>tr>th,.table-bordered>thead>tr>td,.table-bordered>tbody>tr>td,.table-bordered>tfoot>tr>td{border:1px solid #ddd}
.table-bordered>thead>tr>th,.table-bordered>thead>tr>td{border-bottom-width:2px}
.table-striped>tbody>tr:nth-child(odd)>td,.table-striped>tbody>tr:nth-child(odd)>th{background-color:#f9f9f9}
.table-hover>tbody>tr:hover>td,.table-hover>tbody>tr:hover>th{background-color:#f5f5f5}
table col[class*="col-"]{float:none;display:table-column}
table td[class*="col-"],table th[class*="col-"]{float:none;display:table-cell}
.table>thead>tr>td.active,.table>tbody>tr>td.active,.table>tfoot>tr>td.active,.table>thead>tr>th.active,.table>tbody>tr>th.active,.table>tfoot>tr>th.active,.table>thead>tr.active>td,.table>tbody>tr.active>td,.table>tfoot>tr.active>td,.table>thead>tr.active>th,.table>tbody>tr.active>th,.table>tfoot>tr.active>th{background-color:#f5f5f5}
.table>thead>tr>td.success,.table>tbody>tr>td.success,.table>tfoot>tr>td.success,.table>thead>tr>th.success,.table>tbody>tr>th.success,.table>tfoot>tr>th.success,.table>thead>tr.success>td,.table>tbody>tr.success>td,.table>tfoot>tr.success>td,.table>thead>tr.success>th,.table>tbody>tr.success>th,.table>tfoot>tr.success>th{background-color:#dff0d8;border-color:#d6e9c6}
.table-hover>tbody>tr>td.success:hover,.table-hover>tbody>tr>th.success:hover,.table-hover>tbody>tr.success:hover>td{background-color:#d0e9c6;border-color:#c9e2b3}
.table>thead>tr>td.danger,.table>tbody>tr>td.danger,.table>tfoot>tr>td.danger,.table>thead>tr>th.danger,.table>tbody>tr>th.danger,.table>tfoot>tr>th.danger,.table>thead>tr.danger>td,.table>tbody>tr.danger>td,.table>tfoot>tr.danger>td,.table>thead>tr.danger>th,.table>tbody>tr.danger>th,.table>tfoot>tr.danger>th{background-color:#f2dede;border-color:#eed3d7}
.table-hover>tbody>tr>td.danger:hover,.table-hover>tbody>tr>th.danger:hover,.table-hover>tbody>tr.danger:hover>td{background-color:#ebcccc;border-color:#e6c1c7}
.table>thead>tr>td.warning,.table>tbody>tr>td.warning,.table>tfoot>tr>td.warning,.table>thead>tr>th.warning,.table>tbody>tr>th.warning,.table>tfoot>tr>th.warning,.table>thead>tr.warning>td,.table>tbody>tr.warning>td,.table>tfoot>tr.warning>td,.table>thead>tr.warning>th,.table>tbody>tr.warning>th,.table>tfoot>tr.warning>th{background-color:#fcf8e3;border-color:#fbeed5}
.table-hover>tbody>tr>td.warning:hover,.table-hover>tbody>tr>th.warning:hover,.table-hover>tbody>tr.warning:hover>td{background-color:#faf2cc;border-color:#f8e5be}
@media (max-width:768px){.table-responsive{width:100%;margin-bottom:15px;overflow-y:hidden;overflow-x:scroll;border:1px solid #ddd}.table-responsive>.table{margin-bottom:0;background-color:#fff}.table-responsive>.table>thead>tr>th,.table-responsive>.table>tbody>tr>th,.table-responsive>.table>tfoot>tr>th,.table-responsive>.table>thead>tr>td,.table-responsive>.table>tbody>tr>td,.table-responsive>.table>tfoot>tr>td{white-space:nowrap} .table-responsive>.table-bordered{border:0}.table-responsive>.table-bordered>thead>tr>th:first-child,.table-responsive>.table-bordered>tbody>tr>th:first-child,.table-responsive>.table-bordered>tfoot>tr>th:first-child,.table-responsive>.table-bordered>thead>tr>td:first-child,.table-responsive>.table-bordered>tbody>tr>td:first-child,.table-responsive>.table-bordered>tfoot>tr>td:first-child{border-left:0} .table-responsive>.table-bordered>thead>tr>th:last-child,.table-responsive>.table-bordered>tbody>tr>th:last-child,.table-responsive>.table-bordered>tfoot>tr>th:last-child,.table-responsive>.table-bordered>thead>tr>td:last-child,.table-responsive>.table-bordered>tbody>tr>td:last-child,.table-responsive>.table-bordered>tfoot>tr>td:last-child{border-right:0} .table-responsive>.table-bordered>thead>tr:last-child>th,.table-responsive>.table-bordered>tbody>tr:last-child>th,.table-responsive>.table-bordered>tfoot>tr:last-child>th,.table-responsive>.table-bordered>thead>tr:last-child>td,.table-responsive>.table-bordered>tbody>tr:last-child>td,.table-responsive>.table-bordered>tfoot>tr:last-child>td{border-bottom:0}}fieldset{padding:0;margin:0;border:0}
legend{display:block;width:100%;padding:0;margin-bottom:20px;font-size:21px;line-height:inherit;color:#333;border:0;border-bottom:1px solid #e5e5e5}
label{display:inline-block;margin-bottom:5px;font-weight:bold}
input[type="search"]{-webkit-box-sizing:border-box;-moz-box-sizing:border-box;box-sizing:border-box}
input[type="radio"],input[type="checkbox"]{margin:4px 0 0;margin-top:1px \9;line-height:normal}
input[type="file"]{display:block}
select[multiple],select[size]{height:auto}
select optgroup{font-size:inherit;font-style:inherit;font-family:inherit}
input[type="file"]:focus,input[type="radio"]:focus,input[type="checkbox"]:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
input[type="number"]::-webkit-outer-spin-button,input[type="number"]::-webkit-inner-spin-button{height:auto}
.form-control:-moz-placeholder{color:#999}
.form-control::-moz-placeholder{color:#999}
.form-control:-ms-input-placeholder{color:#999}
.form-control::-webkit-input-placeholder{color:#999}
.form-control{display:block;width:100%;height:34px;padding:6px 12px;font-size:14px;line-height:1.428571429;color:#555;vertical-align:middle;background-color:#fff;border:1px solid #ccc;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);-webkit-transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition:border-color ease-in-out .15s, box-shadow ease-in-out .15s}.form-control:focus{border-color:#66afe9;outline:0;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);box-shadow:inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6)}
.form-control[disabled],.form-control[readonly],fieldset[disabled] .form-control{cursor:not-allowed;background-color:#eee}
textarea.form-control{height:auto}
.form-group{margin-bottom:15px}
.radio,.checkbox{display:block;min-height:20px;margin-top:10px;margin-bottom:10px;padding-left:20px;vertical-align:middle}.radio label,.checkbox label{display:inline;margin-bottom:0;font-weight:normal;cursor:pointer}
.radio input[type="radio"],.radio-inline input[type="radio"],.checkbox input[type="checkbox"],.checkbox-inline input[type="checkbox"]{float:left;margin-left:-20px}
.radio+.radio,.checkbox+.checkbox{margin-top:-5px}
.radio-inline,.checkbox-inline{display:inline-block;padding-left:20px;margin-bottom:0;vertical-align:middle;font-weight:normal;cursor:pointer}
.radio-inline+.radio-inline,.checkbox-inline+.checkbox-inline{margin-top:0;margin-left:10px}
input[type="radio"][disabled],input[type="checkbox"][disabled],.radio[disabled],.radio-inline[disabled],.checkbox[disabled],.checkbox-inline[disabled],fieldset[disabled] input[type="radio"],fieldset[disabled] input[type="checkbox"],fieldset[disabled] .radio,fieldset[disabled] .radio-inline,fieldset[disabled] .checkbox,fieldset[disabled] .checkbox-inline{cursor:not-allowed}
.input-sm{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-sm{height:30px;line-height:30px}
textarea.input-sm{height:auto}
.input-lg{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-lg{height:45px;line-height:45px}
textarea.input-lg{height:auto}
.has-warning .help-block,.has-warning .control-label{color:#c09853}
.has-warning .form-control{border-color:#c09853;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-warning .form-control:focus{border-color:#a47e3c;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #dbc59e}
.has-warning .input-group-addon{color:#c09853;border-color:#c09853;background-color:#fcf8e3}
.has-error .help-block,.has-error .control-label{color:#b94a48}
.has-error .form-control{border-color:#b94a48;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-error .form-control:focus{border-color:#953b39;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #d59392}
.has-error .input-group-addon{color:#b94a48;border-color:#b94a48;background-color:#f2dede}
.has-success .help-block,.has-success .control-label{color:#468847}
.has-success .form-control{border-color:#468847;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075);box-shadow:inset 0 1px 1px rgba(0,0,0,0.075)}.has-success .form-control:focus{border-color:#356635;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b;box-shadow:inset 0 1px 1px rgba(0,0,0,0.075),0 0 6px #7aba7b}
.has-success .input-group-addon{color:#468847;border-color:#468847;background-color:#dff0d8}
.form-control-static{margin-bottom:0;padding-top:7px}
.help-block{display:block;margin-top:5px;margin-bottom:10px;color:#404040}
@media (min-width:768px){.form-inline .form-group{display:inline-block;margin-bottom:0;vertical-align:middle} .form-inline .form-control{display:inline-block} .form-inline .radio,.form-inline .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0} .form-inline .radio input[type="radio"],.form-inline .checkbox input[type="checkbox"]{float:none;margin-left:0}}
.form-horizontal .control-label,.form-horizontal .radio,.form-horizontal .checkbox,.form-horizontal .radio-inline,.form-horizontal .checkbox-inline{margin-top:0;margin-bottom:0;padding-top:7px}
.form-horizontal .form-group{margin-left:-15px;margin-right:-15px}.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;}
.form-horizontal .form-group:after{clear:both}
.form-horizontal .form-group:before,.form-horizontal .form-group:after{content:" ";display:table;}
.form-horizontal .form-group:after{clear:both}
@media (min-width:768px){.form-horizontal .control-label{text-align:right}}
.btn{display:inline-block;padding:6px 12px;margin-bottom:0;font-size:14px;font-weight:normal;line-height:1.428571429;text-align:center;vertical-align:middle;cursor:pointer;border:1px solid transparent;border-radius:4px;white-space:nowrap;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-o-user-select:none;user-select:none}.btn:focus{outline:thin dotted #333;outline:5px auto -webkit-focus-ring-color;outline-offset:-2px}
.btn:hover,.btn:focus{color:#333;text-decoration:none}
.btn:active,.btn.active{outline:0;background-image:none;-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}
.btn.disabled,.btn[disabled],fieldset[disabled] .btn{cursor:not-allowed;pointer-events:none;opacity:.65;filter:alpha(opacity=65);-webkit-box-shadow:none;box-shadow:none}
.btn-default{color:#333;background-color:#fff;border-color:#ccc}.btn-default:hover,.btn-default:focus,.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{color:#333;background-color:#ebebeb;border-color:#adadad}
.btn-default:active,.btn-default.active,.open .dropdown-toggle.btn-default{background-image:none}
.btn-default.disabled,.btn-default[disabled],fieldset[disabled] .btn-default,.btn-default.disabled:hover,.btn-default[disabled]:hover,fieldset[disabled] .btn-default:hover,.btn-default.disabled:focus,.btn-default[disabled]:focus,fieldset[disabled] .btn-default:focus,.btn-default.disabled:active,.btn-default[disabled]:active,fieldset[disabled] .btn-default:active,.btn-default.disabled.active,.btn-default[disabled].active,fieldset[disabled] .btn-default.active{background-color:#fff;border-color:#ccc}
.btn-primary{color:#fff;background-color:#428bca;border-color:#357ebd}.btn-primary:hover,.btn-primary:focus,.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{color:#fff;background-color:#3276b1;border-color:#285e8e}
.btn-primary:active,.btn-primary.active,.open .dropdown-toggle.btn-primary{background-image:none}
.btn-primary.disabled,.btn-primary[disabled],fieldset[disabled] .btn-primary,.btn-primary.disabled:hover,.btn-primary[disabled]:hover,fieldset[disabled] .btn-primary:hover,.btn-primary.disabled:focus,.btn-primary[disabled]:focus,fieldset[disabled] .btn-primary:focus,.btn-primary.disabled:active,.btn-primary[disabled]:active,fieldset[disabled] .btn-primary:active,.btn-primary.disabled.active,.btn-primary[disabled].active,fieldset[disabled] .btn-primary.active{background-color:#428bca;border-color:#357ebd}
.btn-warning{color:#fff;background-color:#f0ad4e;border-color:#eea236}.btn-warning:hover,.btn-warning:focus,.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{color:#fff;background-color:#ed9c28;border-color:#d58512}
.btn-warning:active,.btn-warning.active,.open .dropdown-toggle.btn-warning{background-image:none}
.btn-warning.disabled,.btn-warning[disabled],fieldset[disabled] .btn-warning,.btn-warning.disabled:hover,.btn-warning[disabled]:hover,fieldset[disabled] .btn-warning:hover,.btn-warning.disabled:focus,.btn-warning[disabled]:focus,fieldset[disabled] .btn-warning:focus,.btn-warning.disabled:active,.btn-warning[disabled]:active,fieldset[disabled] .btn-warning:active,.btn-warning.disabled.active,.btn-warning[disabled].active,fieldset[disabled] .btn-warning.active{background-color:#f0ad4e;border-color:#eea236}
.btn-danger{color:#fff;background-color:#d9534f;border-color:#d43f3a}.btn-danger:hover,.btn-danger:focus,.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{color:#fff;background-color:#d2322d;border-color:#ac2925}
.btn-danger:active,.btn-danger.active,.open .dropdown-toggle.btn-danger{background-image:none}
.btn-danger.disabled,.btn-danger[disabled],fieldset[disabled] .btn-danger,.btn-danger.disabled:hover,.btn-danger[disabled]:hover,fieldset[disabled] .btn-danger:hover,.btn-danger.disabled:focus,.btn-danger[disabled]:focus,fieldset[disabled] .btn-danger:focus,.btn-danger.disabled:active,.btn-danger[disabled]:active,fieldset[disabled] .btn-danger:active,.btn-danger.disabled.active,.btn-danger[disabled].active,fieldset[disabled] .btn-danger.active{background-color:#d9534f;border-color:#d43f3a}
.btn-success{color:#fff;background-color:#5cb85c;border-color:#4cae4c}.btn-success:hover,.btn-success:focus,.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{color:#fff;background-color:#47a447;border-color:#398439}
.btn-success:active,.btn-success.active,.open .dropdown-toggle.btn-success{background-image:none}
.btn-success.disabled,.btn-success[disabled],fieldset[disabled] .btn-success,.btn-success.disabled:hover,.btn-success[disabled]:hover,fieldset[disabled] .btn-success:hover,.btn-success.disabled:focus,.btn-success[disabled]:focus,fieldset[disabled] .btn-success:focus,.btn-success.disabled:active,.btn-success[disabled]:active,fieldset[disabled] .btn-success:active,.btn-success.disabled.active,.btn-success[disabled].active,fieldset[disabled] .btn-success.active{background-color:#5cb85c;border-color:#4cae4c}
.btn-info{color:#fff;background-color:#5bc0de;border-color:#46b8da}.btn-info:hover,.btn-info:focus,.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{color:#fff;background-color:#39b3d7;border-color:#269abc}
.btn-info:active,.btn-info.active,.open .dropdown-toggle.btn-info{background-image:none}
.btn-info.disabled,.btn-info[disabled],fieldset[disabled] .btn-info,.btn-info.disabled:hover,.btn-info[disabled]:hover,fieldset[disabled] .btn-info:hover,.btn-info.disabled:focus,.btn-info[disabled]:focus,fieldset[disabled] .btn-info:focus,.btn-info.disabled:active,.btn-info[disabled]:active,fieldset[disabled] .btn-info:active,.btn-info.disabled.active,.btn-info[disabled].active,fieldset[disabled] .btn-info.active{background-color:#5bc0de;border-color:#46b8da}
.btn-link{color:#428bca;font-weight:normal;cursor:pointer;border-radius:0}.btn-link,.btn-link:active,.btn-link[disabled],fieldset[disabled] .btn-link{background-color:transparent;-webkit-box-shadow:none;box-shadow:none}
.btn-link,.btn-link:hover,.btn-link:focus,.btn-link:active{border-color:transparent}
.btn-link:hover,.btn-link:focus{color:#2a6496;text-decoration:underline;background-color:transparent}
.btn-link[disabled]:hover,fieldset[disabled] .btn-link:hover,.btn-link[disabled]:focus,fieldset[disabled] .btn-link:focus{color:#999;text-decoration:none}
.btn-lg{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
.btn-sm,.btn-xs{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
.btn-xs{padding:1px 5px}
.btn-block{display:block;width:100%;padding-left:0;padding-right:0}
.btn-block+.btn-block{margin-top:5px}
input[type="submit"].btn-block,input[type="reset"].btn-block,input[type="button"].btn-block{width:100%}
.fade{opacity:0;-webkit-transition:opacity .15s linear;transition:opacity .15s linear}.fade.in{opacity:1}
.collapse{display:none}.collapse.in{display:block}
.collapsing{position:relative;height:0;overflow:hidden;-webkit-transition:height .35s ease;transition:height .35s ease}
@font-face{font-family:'Glyphicons Halflings';src:url('../fonts/glyphicons-halflings-regular.eot');src:url('../fonts/glyphicons-halflings-regular.eot?#iefix') format('embedded-opentype'),url('../fonts/glyphicons-halflings-regular.woff') format('woff'),url('../fonts/glyphicons-halflings-regular.ttf') format('truetype'),url('../fonts/glyphicons-halflings-regular.svg#glyphicons-halflingsregular') format('svg')}.glyphicon{position:relative;top:1px;display:inline-block;font-family:'Glyphicons Halflings';font-style:normal;font-weight:normal;line-height:1;-webkit-font-smoothing:antialiased}
.glyphicon-asterisk:before{content:"\2a"}
.glyphicon-plus:before{content:"\2b"}
.glyphicon-euro:before{content:"\20ac"}
.glyphicon-minus:before{content:"\2212"}
.glyphicon-cloud:before{content:"\2601"}
.glyphicon-envelope:before{content:"\2709"}
.glyphicon-pencil:before{content:"\270f"}
.glyphicon-glass:before{content:"\e001"}
.glyphicon-music:before{content:"\e002"}
.glyphicon-search:before{content:"\e003"}
.glyphicon-heart:before{content:"\e005"}
.glyphicon-star:before{content:"\e006"}
.glyphicon-star-empty:before{content:"\e007"}
.glyphicon-user:before{content:"\e008"}
.glyphicon-film:before{content:"\e009"}
.glyphicon-th-large:before{content:"\e010"}
.glyphicon-th:before{content:"\e011"}
.glyphicon-th-list:before{content:"\e012"}
.glyphicon-ok:before{content:"\e013"}
.glyphicon-remove:before{content:"\e014"}
.glyphicon-zoom-in:before{content:"\e015"}
.glyphicon-zoom-out:before{content:"\e016"}
.glyphicon-off:before{content:"\e017"}
.glyphicon-signal:before{content:"\e018"}
.glyphicon-cog:before{content:"\e019"}
.glyphicon-trash:before{content:"\e020"}
.glyphicon-home:before{content:"\e021"}
.glyphicon-file:before{content:"\e022"}
.glyphicon-time:before{content:"\e023"}
.glyphicon-road:before{content:"\e024"}
.glyphicon-download-alt:before{content:"\e025"}
.glyphicon-download:before{content:"\e026"}
.glyphicon-upload:before{content:"\e027"}
.glyphicon-inbox:before{content:"\e028"}
.glyphicon-play-circle:before{content:"\e029"}
.glyphicon-repeat:before{content:"\e030"}
.glyphicon-refresh:before{content:"\e031"}
.glyphicon-list-alt:before{content:"\e032"}
.glyphicon-flag:before{content:"\e034"}
.glyphicon-headphones:before{content:"\e035"}
.glyphicon-volume-off:before{content:"\e036"}
.glyphicon-volume-down:before{content:"\e037"}
.glyphicon-volume-up:before{content:"\e038"}
.glyphicon-qrcode:before{content:"\e039"}
.glyphicon-barcode:before{content:"\e040"}
.glyphicon-tag:before{content:"\e041"}
.glyphicon-tags:before{content:"\e042"}
.glyphicon-book:before{content:"\e043"}
.glyphicon-print:before{content:"\e045"}
.glyphicon-font:before{content:"\e047"}
.glyphicon-bold:before{content:"\e048"}
.glyphicon-italic:before{content:"\e049"}
.glyphicon-text-height:before{content:"\e050"}
.glyphicon-text-width:before{content:"\e051"}
.glyphicon-align-left:before{content:"\e052"}
.glyphicon-align-center:before{content:"\e053"}
.glyphicon-align-right:before{content:"\e054"}
.glyphicon-align-justify:before{content:"\e055"}
.glyphicon-list:before{content:"\e056"}
.glyphicon-indent-left:before{content:"\e057"}
.glyphicon-indent-right:before{content:"\e058"}
.glyphicon-facetime-video:before{content:"\e059"}
.glyphicon-picture:before{content:"\e060"}
.glyphicon-map-marker:before{content:"\e062"}
.glyphicon-adjust:before{content:"\e063"}
.glyphicon-tint:before{content:"\e064"}
.glyphicon-edit:before{content:"\e065"}
.glyphicon-share:before{content:"\e066"}
.glyphicon-check:before{content:"\e067"}
.glyphicon-move:before{content:"\e068"}
.glyphicon-step-backward:before{content:"\e069"}
.glyphicon-fast-backward:before{content:"\e070"}
.glyphicon-backward:before{content:"\e071"}
.glyphicon-play:before{content:"\e072"}
.glyphicon-pause:before{content:"\e073"}
.glyphicon-stop:before{content:"\e074"}
.glyphicon-forward:before{content:"\e075"}
.glyphicon-fast-forward:before{content:"\e076"}
.glyphicon-step-forward:before{content:"\e077"}
.glyphicon-eject:before{content:"\e078"}
.glyphicon-chevron-left:before{content:"\e079"}
.glyphicon-chevron-right:before{content:"\e080"}
.glyphicon-plus-sign:before{content:"\e081"}
.glyphicon-minus-sign:before{content:"\e082"}
.glyphicon-remove-sign:before{content:"\e083"}
.glyphicon-ok-sign:before{content:"\e084"}
.glyphicon-question-sign:before{content:"\e085"}
.glyphicon-info-sign:before{content:"\e086"}
.glyphicon-screenshot:before{content:"\e087"}
.glyphicon-remove-circle:before{content:"\e088"}
.glyphicon-ok-circle:before{content:"\e089"}
.glyphicon-ban-circle:before{content:"\e090"}
.glyphicon-arrow-left:before{content:"\e091"}
.glyphicon-arrow-right:before{content:"\e092"}
.glyphicon-arrow-up:before{content:"\e093"}
.glyphicon-arrow-down:before{content:"\e094"}
.glyphicon-share-alt:before{content:"\e095"}
.glyphicon-resize-full:before{content:"\e096"}
.glyphicon-resize-small:before{content:"\e097"}
.glyphicon-exclamation-sign:before{content:"\e101"}
.glyphicon-gift:before{content:"\e102"}
.glyphicon-leaf:before{content:"\e103"}
.glyphicon-eye-open:before{content:"\e105"}
.glyphicon-eye-close:before{content:"\e106"}
.glyphicon-warning-sign:before{content:"\e107"}
.glyphicon-plane:before{content:"\e108"}
.glyphicon-random:before{content:"\e110"}
.glyphicon-comment:before{content:"\e111"}
.glyphicon-magnet:before{content:"\e112"}
.glyphicon-chevron-up:before{content:"\e113"}
.glyphicon-chevron-down:before{content:"\e114"}
.glyphicon-retweet:before{content:"\e115"}
.glyphicon-shopping-cart:before{content:"\e116"}
.glyphicon-folder-close:before{content:"\e117"}
.glyphicon-folder-open:before{content:"\e118"}
.glyphicon-resize-vertical:before{content:"\e119"}
.glyphicon-resize-horizontal:before{content:"\e120"}
.glyphicon-hdd:before{content:"\e121"}
.glyphicon-bullhorn:before{content:"\e122"}
.glyphicon-certificate:before{content:"\e124"}
.glyphicon-thumbs-up:before{content:"\e125"}
.glyphicon-thumbs-down:before{content:"\e126"}
.glyphicon-hand-right:before{content:"\e127"}
.glyphicon-hand-left:before{content:"\e128"}
.glyphicon-hand-up:before{content:"\e129"}
.glyphicon-hand-down:before{content:"\e130"}
.glyphicon-circle-arrow-right:before{content:"\e131"}
.glyphicon-circle-arrow-left:before{content:"\e132"}
.glyphicon-circle-arrow-up:before{content:"\e133"}
.glyphicon-circle-arrow-down:before{content:"\e134"}
.glyphicon-globe:before{content:"\e135"}
.glyphicon-tasks:before{content:"\e137"}
.glyphicon-filter:before{content:"\e138"}
.glyphicon-fullscreen:before{content:"\e140"}
.glyphicon-dashboard:before{content:"\e141"}
.glyphicon-heart-empty:before{content:"\e143"}
.glyphicon-link:before{content:"\e144"}
.glyphicon-phone:before{content:"\e145"}
.glyphicon-usd:before{content:"\e148"}
.glyphicon-gbp:before{content:"\e149"}
.glyphicon-sort:before{content:"\e150"}
.glyphicon-sort-by-alphabet:before{content:"\e151"}
.glyphicon-sort-by-alphabet-alt:before{content:"\e152"}
.glyphicon-sort-by-order:before{content:"\e153"}
.glyphicon-sort-by-order-alt:before{content:"\e154"}
.glyphicon-sort-by-attributes:before{content:"\e155"}
.glyphicon-sort-by-attributes-alt:before{content:"\e156"}
.glyphicon-unchecked:before{content:"\e157"}
.glyphicon-expand:before{content:"\e158"}
.glyphicon-collapse-down:before{content:"\e159"}
.glyphicon-collapse-up:before{content:"\e160"}
.glyphicon-log-in:before{content:"\e161"}
.glyphicon-flash:before{content:"\e162"}
.glyphicon-log-out:before{content:"\e163"}
.glyphicon-new-window:before{content:"\e164"}
.glyphicon-record:before{content:"\e165"}
.glyphicon-save:before{content:"\e166"}
.glyphicon-open:before{content:"\e167"}
.glyphicon-saved:before{content:"\e168"}
.glyphicon-import:before{content:"\e169"}
.glyphicon-export:before{content:"\e170"}
.glyphicon-send:before{content:"\e171"}
.glyphicon-floppy-disk:before{content:"\e172"}
.glyphicon-floppy-saved:before{content:"\e173"}
.glyphicon-floppy-remove:before{content:"\e174"}
.glyphicon-floppy-save:before{content:"\e175"}
.glyphicon-floppy-open:before{content:"\e176"}
.glyphicon-credit-card:before{content:"\e177"}
.glyphicon-transfer:before{content:"\e178"}
.glyphicon-cutlery:before{content:"\e179"}
.glyphicon-header:before{content:"\e180"}
.glyphicon-compressed:before{content:"\e181"}
.glyphicon-earphone:before{content:"\e182"}
.glyphicon-phone-alt:before{content:"\e183"}
.glyphicon-tower:before{content:"\e184"}
.glyphicon-stats:before{content:"\e185"}
.glyphicon-sd-video:before{content:"\e186"}
.glyphicon-hd-video:before{content:"\e187"}
.glyphicon-subtitles:before{content:"\e188"}
.glyphicon-sound-stereo:before{content:"\e189"}
.glyphicon-sound-dolby:before{content:"\e190"}
.glyphicon-sound-5-1:before{content:"\e191"}
.glyphicon-sound-6-1:before{content:"\e192"}
.glyphicon-sound-7-1:before{content:"\e193"}
.glyphicon-copyright-mark:before{content:"\e194"}
.glyphicon-registration-mark:before{content:"\e195"}
.glyphicon-cloud-download:before{content:"\e197"}
.glyphicon-cloud-upload:before{content:"\e198"}
.glyphicon-tree-conifer:before{content:"\e199"}
.glyphicon-tree-deciduous:before{content:"\e200"}
.glyphicon-briefcase:before{content:"\1f4bc"}
.glyphicon-calendar:before{content:"\1f4c5"}
.glyphicon-pushpin:before{content:"\1f4cc"}
.glyphicon-paperclip:before{content:"\1f4ce"}
.glyphicon-camera:before{content:"\1f4f7"}
.glyphicon-lock:before{content:"\1f512"}
.glyphicon-bell:before{content:"\1f514"}
.glyphicon-bookmark:before{content:"\1f516"}
.glyphicon-fire:before{content:"\1f525"}
.glyphicon-wrench:before{content:"\1f527"}
.caret{display:inline-block;width:0;height:0;margin-left:2px;vertical-align:middle;border-top:4px solid #000;border-right:4px solid transparent;border-left:4px solid transparent;border-bottom:0 dotted;content:""}
.dropdown{position:relative}
.dropdown-toggle:focus{outline:0}
.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:160px;padding:5px 0;margin:2px 0 0;list-style:none;font-size:14px;background-color:#fff;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.15);border-radius:4px;-webkit-box-shadow:0 6px 12px rgba(0,0,0,0.175);box-shadow:0 6px 12px rgba(0,0,0,0.175);background-clip:padding-box}.dropdown-menu.pull-right{right:0;left:auto}
.dropdown-menu .divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
.dropdown-menu>li>a{display:block;padding:3px 20px;clear:both;font-weight:normal;line-height:1.428571429;color:#333;white-space:nowrap}
.dropdown-menu>li>a:hover,.dropdown-menu>li>a:focus{text-decoration:none;color:#fff;background-color:#428bca}
.dropdown-menu>.active>a,.dropdown-menu>.active>a:hover,.dropdown-menu>.active>a:focus{color:#fff;text-decoration:none;outline:0;background-color:#428bca}
.dropdown-menu>.disabled>a,.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{color:#999}
.dropdown-menu>.disabled>a:hover,.dropdown-menu>.disabled>a:focus{text-decoration:none;background-color:transparent;background-image:none;filter:progid:DXImageTransform.Microsoft.gradient(enabled = false);cursor:not-allowed}
.open>.dropdown-menu{display:block}
.open>a{outline:0}
.dropdown-header{display:block;padding:3px 20px;font-size:12px;line-height:1.428571429;color:#999}
.dropdown-backdrop{position:fixed;left:0;right:0;bottom:0;top:0;z-index:990}
.pull-right>.dropdown-menu{right:0;left:auto}
.dropup .caret,.navbar-fixed-bottom .dropdown .caret{border-top:0 dotted;border-bottom:4px solid #000;content:""}
.dropup .dropdown-menu,.navbar-fixed-bottom .dropdown .dropdown-menu{top:auto;bottom:100%;margin-bottom:1px}
@media (min-width:768px){.navbar-right .dropdown-menu{right:0;left:auto}}.btn-default .caret{border-top-color:#333}
.btn-primary .caret,.btn-success .caret,.btn-warning .caret,.btn-danger .caret,.btn-info .caret{border-top-color:#fff}
.dropup .btn-default .caret{border-bottom-color:#333}
.dropup .btn-primary .caret,.dropup .btn-success .caret,.dropup .btn-warning .caret,.dropup .btn-danger .caret,.dropup .btn-info .caret{border-bottom-color:#fff}
.btn-group,.btn-group-vertical{position:relative;display:inline-block;vertical-align:middle}.btn-group>.btn,.btn-group-vertical>.btn{position:relative;float:left}.btn-group>.btn:hover,.btn-group-vertical>.btn:hover,.btn-group>.btn:focus,.btn-group-vertical>.btn:focus,.btn-group>.btn:active,.btn-group-vertical>.btn:active,.btn-group>.btn.active,.btn-group-vertical>.btn.active{z-index:2}
.btn-group>.btn:focus,.btn-group-vertical>.btn:focus{outline:none}
.btn-group .btn+.btn,.btn-group .btn+.btn-group,.btn-group .btn-group+.btn,.btn-group .btn-group+.btn-group{margin-left:-1px}
.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;}
.btn-toolbar:after{clear:both}
.btn-toolbar:before,.btn-toolbar:after{content:" ";display:table;}
.btn-toolbar:after{clear:both}
.btn-toolbar .btn-group{float:left}
.btn-toolbar>.btn+.btn,.btn-toolbar>.btn-group+.btn,.btn-toolbar>.btn+.btn-group,.btn-toolbar>.btn-group+.btn-group{margin-left:5px}
.btn-group>.btn:not(:first-child):not(:last-child):not(.dropdown-toggle){border-radius:0}
.btn-group>.btn:first-child{margin-left:0}.btn-group>.btn:first-child:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}
.btn-group>.btn:last-child:not(:first-child),.btn-group>.dropdown-toggle:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
.btn-group>.btn-group{float:left}
.btn-group>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group>.btn-group:first-child>.btn:last-child,.btn-group>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-top-right-radius:0}
.btn-group>.btn-group:last-child>.btn:first-child{border-bottom-left-radius:0;border-top-left-radius:0}
.btn-group .dropdown-toggle:active,.btn-group.open .dropdown-toggle{outline:0}
.btn-group-xs>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px;padding:1px 5px}
.btn-group-sm>.btn{padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}
.btn-group-lg>.btn{padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}
.btn-group>.btn+.dropdown-toggle{padding-left:8px;padding-right:8px}
.btn-group>.btn-lg+.dropdown-toggle{padding-left:12px;padding-right:12px}
.btn-group.open .dropdown-toggle{-webkit-box-shadow:inset 0 3px 5px rgba(0,0,0,0.125);box-shadow:inset 0 3px 5px rgba(0,0,0,0.125)}
.btn .caret{margin-left:0}
.btn-lg .caret{border-width:5px 5px 0;border-bottom-width:0}
.dropup .btn-lg .caret{border-width:0 5px 5px}
.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{display:block;float:none;width:100%;max-width:100%}
.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;}
.btn-group-vertical>.btn-group:after{clear:both}
.btn-group-vertical>.btn-group:before,.btn-group-vertical>.btn-group:after{content:" ";display:table;}
.btn-group-vertical>.btn-group:after{clear:both}
.btn-group-vertical>.btn-group>.btn{float:none}
.btn-group-vertical>.btn+.btn,.btn-group-vertical>.btn+.btn-group,.btn-group-vertical>.btn-group+.btn,.btn-group-vertical>.btn-group+.btn-group{margin-top:-1px;margin-left:0}
.btn-group-vertical>.btn:not(:first-child):not(:last-child){border-radius:0}
.btn-group-vertical>.btn:first-child:not(:last-child){border-top-right-radius:4px;border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn:last-child:not(:first-child){border-bottom-left-radius:4px;border-top-right-radius:0;border-top-left-radius:0}
.btn-group-vertical>.btn-group:not(:first-child):not(:last-child)>.btn{border-radius:0}
.btn-group-vertical>.btn-group:first-child>.btn:last-child,.btn-group-vertical>.btn-group:first-child>.dropdown-toggle{border-bottom-right-radius:0;border-bottom-left-radius:0}
.btn-group-vertical>.btn-group:last-child>.btn:first-child{border-top-right-radius:0;border-top-left-radius:0}
.btn-group-justified{display:table;width:100%;table-layout:fixed;border-collapse:separate}.btn-group-justified .btn{float:none;display:table-cell;width:1%}
[data-toggle="buttons"]>.btn>input[type="radio"],[data-toggle="buttons"]>.btn>input[type="checkbox"]{display:none}
.input-group{position:relative;display:table;border-collapse:separate}.input-group.col{float:none;padding-left:0;padding-right:0}
.input-group .form-control{width:100%;margin-bottom:0}
.input-group-lg>.form-control,.input-group-lg>.input-group-addon,.input-group-lg>.input-group-btn>.btn{height:45px;padding:10px 16px;font-size:18px;line-height:1.33;border-radius:6px}select.input-group-lg>.form-control,select.input-group-lg>.input-group-addon,select.input-group-lg>.input-group-btn>.btn{height:45px;line-height:45px}
textarea.input-group-lg>.form-control,textarea.input-group-lg>.input-group-addon,textarea.input-group-lg>.input-group-btn>.btn{height:auto}
.input-group-sm>.form-control,.input-group-sm>.input-group-addon,.input-group-sm>.input-group-btn>.btn{height:30px;padding:5px 10px;font-size:12px;line-height:1.5;border-radius:3px}select.input-group-sm>.form-control,select.input-group-sm>.input-group-addon,select.input-group-sm>.input-group-btn>.btn{height:30px;line-height:30px}
textarea.input-group-sm>.form-control,textarea.input-group-sm>.input-group-addon,textarea.input-group-sm>.input-group-btn>.btn{height:auto}
.input-group-addon,.input-group-btn,.input-group .form-control{display:table-cell}.input-group-addon:not(:first-child):not(:last-child),.input-group-btn:not(:first-child):not(:last-child),.input-group .form-control:not(:first-child):not(:last-child){border-radius:0}
.input-group-addon,.input-group-btn{width:1%;white-space:nowrap;vertical-align:middle}
.input-group-addon{padding:6px 12px;font-size:14px;font-weight:normal;line-height:1;text-align:center;background-color:#eee;border:1px solid #ccc;border-radius:4px}.input-group-addon.input-sm{padding:5px 10px;font-size:12px;border-radius:3px}
.input-group-addon.input-lg{padding:10px 16px;font-size:18px;border-radius:6px}
.input-group-addon input[type="radio"],.input-group-addon input[type="checkbox"]{margin-top:0}
.input-group .form-control:first-child,.input-group-addon:first-child,.input-group-btn:first-child>.btn,.input-group-btn:first-child>.dropdown-toggle,.input-group-btn:last-child>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-top-right-radius:0}
.input-group-addon:first-child{border-right:0}
.input-group .form-control:last-child,.input-group-addon:last-child,.input-group-btn:last-child>.btn,.input-group-btn:last-child>.dropdown-toggle,.input-group-btn:first-child>.btn:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}
.input-group-addon:last-child{border-left:0}
.input-group-btn{position:relative;white-space:nowrap}
.input-group-btn>.btn{position:relative}.input-group-btn>.btn+.btn{margin-left:-4px}
.input-group-btn>.btn:hover,.input-group-btn>.btn:active{z-index:2}
.nav{margin-bottom:0;padding-left:0;list-style:none}.nav:before,.nav:after{content:" ";display:table;}
.nav:after{clear:both}
.nav:before,.nav:after{content:" ";display:table;}
.nav:after{clear:both}
.nav>li{position:relative;display:block}.nav>li>a{position:relative;display:block;padding:10px 15px}.nav>li>a:hover,.nav>li>a:focus{text-decoration:none;background-color:#eee}
.nav>li.disabled>a{color:#999}.nav>li.disabled>a:hover,.nav>li.disabled>a:focus{color:#999;text-decoration:none;background-color:transparent;cursor:not-allowed}
.nav .open>a,.nav .open>a:hover,.nav .open>a:focus{background-color:#eee;border-color:#428bca}
.nav .nav-divider{height:1px;margin:9px 0;overflow:hidden;background-color:#e5e5e5}
.nav>li>a>img{max-width:none}
.nav-tabs{border-bottom:1px solid #ddd}.nav-tabs>li{float:left;margin-bottom:-1px}.nav-tabs>li>a{margin-right:2px;line-height:1.428571429;border:1px solid transparent;border-radius:4px 4px 0 0}.nav-tabs>li>a:hover{border-color:#eee #eee #ddd}
.nav-tabs>li.active>a,.nav-tabs>li.active>a:hover,.nav-tabs>li.active>a:focus{color:#555;background-color:#fff;border:1px solid #ddd;border-bottom-color:transparent;cursor:default}
.nav-tabs.nav-justified{width:100%;border-bottom:0}.nav-tabs.nav-justified>li{float:none}.nav-tabs.nav-justified>li>a{text-align:center}
@media (min-width:768px){.nav-tabs.nav-justified>li{display:table-cell;width:1%}}.nav-tabs.nav-justified>li>a{border-bottom:1px solid #ddd;margin-right:0}
.nav-tabs.nav-justified>.active>a{border-bottom-color:#fff}
.nav-pills>li{float:left}.nav-pills>li>a{border-radius:5px}
.nav-pills>li+li{margin-left:2px}
.nav-pills>li.active>a,.nav-pills>li.active>a:hover,.nav-pills>li.active>a:focus{color:#fff;background-color:#428bca}
.nav-stacked>li{float:none}.nav-stacked>li+li{margin-top:2px;margin-left:0}
.nav-justified{width:100%}.nav-justified>li{float:none}.nav-justified>li>a{text-align:center}
@media (min-width:768px){.nav-justified>li{display:table-cell;width:1%}}
.nav-tabs-justified{border-bottom:0}.nav-tabs-justified>li>a{border-bottom:1px solid #ddd;margin-right:0}
.nav-tabs-justified>.active>a{border-bottom-color:#fff}
.tabbable:before,.tabbable:after{content:" ";display:table;}
.tabbable:after{clear:both}
.tabbable:before,.tabbable:after{content:" ";display:table;}
.tabbable:after{clear:both}
.tab-content>.tab-pane,.pill-content>.pill-pane{display:none}
.tab-content>.active,.pill-content>.active{display:block}
.nav .caret{border-top-color:#428bca;border-bottom-color:#428bca}
.nav a:hover .caret{border-top-color:#2a6496;border-bottom-color:#2a6496}
.nav-tabs .dropdown-menu{margin-top:-1px;border-top-right-radius:0;border-top-left-radius:0}
.navbar{position:relative;z-index:1000;min-height:50px;margin-bottom:20px;border:1px solid transparent}.navbar:before,.navbar:after{content:" ";display:table;}
.navbar:after{clear:both}
.navbar:before,.navbar:after{content:" ";display:table;}
.navbar:after{clear:both}
@media (min-width:768px){.navbar{border-radius:4px}}
.navbar-header:before,.navbar-header:after{content:" ";display:table;}
.navbar-header:after{clear:both}
.navbar-header:before,.navbar-header:after{content:" ";display:table;}
.navbar-header:after{clear:both}
@media (min-width:768px){.navbar-header{float:left}}
.navbar-collapse{max-height:340px;overflow-x:visible;padding-right:15px;padding-left:15px;border-top:1px solid transparent;box-shadow:inset 0 1px 0 rgba(255,255,255,0.1);-webkit-overflow-scrolling:touch}.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;}
.navbar-collapse:after{clear:both}
.navbar-collapse:before,.navbar-collapse:after{content:" ";display:table;}
.navbar-collapse:after{clear:both}
.navbar-collapse.in{overflow-y:auto}
@media (min-width:768px){.navbar-collapse{width:auto;border-top:0;box-shadow:none}.navbar-collapse.collapse{display:block !important;height:auto !important;padding-bottom:0;overflow:visible !important} .navbar-collapse.in{overflow-y:visible} .navbar-collapse .navbar-nav.navbar-left:first-child{margin-left:-15px} .navbar-collapse .navbar-nav.navbar-right:last-child{margin-right:-15px} .navbar-collapse .navbar-text:last-child{margin-right:0}}
.container>.navbar-header,.container>.navbar-collapse{margin-right:-15px;margin-left:-15px}@media (min-width:768px){.container>.navbar-header,.container>.navbar-collapse{margin-right:0;margin-left:0}}
.navbar-static-top{border-width:0 0 1px}@media (min-width:768px){.navbar-static-top{border-radius:0}}
.navbar-fixed-top,.navbar-fixed-bottom{position:fixed;right:0;left:0;border-width:0 0 1px}@media (min-width:768px){.navbar-fixed-top,.navbar-fixed-bottom{border-radius:0}}
.navbar-fixed-top{z-index:1030;top:0}
.navbar-fixed-bottom{bottom:0;margin-bottom:0}
.navbar-brand{float:left;padding:15px 15px;font-size:18px;line-height:20px}.navbar-brand:hover,.navbar-brand:focus{text-decoration:none}
@media (min-width:768px){.navbar>.container .navbar-brand{margin-left:-15px}}
.navbar-toggle{position:relative;float:right;margin-right:15px;padding:9px 10px;margin-top:8px;margin-bottom:8px;background-color:transparent;border:1px solid transparent;border-radius:4px}.navbar-toggle .icon-bar{display:block;width:22px;height:2px;border-radius:1px}
.navbar-toggle .icon-bar+.icon-bar{margin-top:4px}
@media (min-width:768px){.navbar-toggle{display:none}}
.navbar-nav{margin:7.5px -15px}.navbar-nav>li>a{padding-top:10px;padding-bottom:10px;line-height:20px}
@media (max-width:767px){.navbar-nav .open .dropdown-menu{position:static;float:none;width:auto;margin-top:0;background-color:transparent;border:0;box-shadow:none}.navbar-nav .open .dropdown-menu>li>a,.navbar-nav .open .dropdown-menu .dropdown-header{padding:5px 15px 5px 25px} .navbar-nav .open .dropdown-menu>li>a{line-height:20px}.navbar-nav .open .dropdown-menu>li>a:hover,.navbar-nav .open .dropdown-menu>li>a:focus{background-image:none}}@media (min-width:768px){.navbar-nav{float:left;margin:0}.navbar-nav>li{float:left}.navbar-nav>li>a{padding-top:15px;padding-bottom:15px}}
@media (min-width:768px){.navbar-left{float:left !important} .navbar-right{float:right !important}}.navbar-form{margin-left:-15px;margin-right:-15px;padding:10px 15px;border-top:1px solid transparent;border-bottom:1px solid transparent;-webkit-box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);box-shadow:inset 0 1px 0 rgba(255,255,255,0.1),0 1px 0 rgba(255,255,255,0.1);margin-top:8px;margin-bottom:8px}@media (min-width:768px){.navbar-form .form-group{display:inline-block;margin-bottom:0;vertical-align:middle} .navbar-form .form-control{display:inline-block} .navbar-form .radio,.navbar-form .checkbox{display:inline-block;margin-top:0;margin-bottom:0;padding-left:0} .navbar-form .radio input[type="radio"],.navbar-form .checkbox input[type="checkbox"]{float:none;margin-left:0}}@media (max-width:767px){.navbar-form .form-group{margin-bottom:5px}}
@media (min-width:768px){.navbar-form{width:auto;border:0;margin-left:0;margin-right:0;padding-top:0;padding-bottom:0;-webkit-box-shadow:none;box-shadow:none}}
.navbar-nav>li>.dropdown-menu{margin-top:0;border-top-right-radius:0;border-top-left-radius:0}
.navbar-fixed-bottom .navbar-nav>li>.dropdown-menu{border-bottom-right-radius:0;border-bottom-left-radius:0}
.navbar-nav.pull-right>li>.dropdown-menu,.navbar-nav>li>.dropdown-menu.pull-right{left:auto;right:0}
.navbar-btn{margin-top:8px;margin-bottom:8px}
.navbar-text{float:left;margin-top:15px;margin-bottom:15px}@media (min-width:768px){.navbar-text{margin-left:15px;margin-right:15px}}
.navbar-default{background-color:#f8f8f8;border-color:#e7e7e7}.navbar-default .navbar-brand{color:#777}.navbar-default .navbar-brand:hover,.navbar-default .navbar-brand:focus{color:#5e5e5e;background-color:transparent}
.navbar-default .navbar-text{color:#777}
.navbar-default .navbar-nav>li>a{color:#777}.navbar-default .navbar-nav>li>a:hover,.navbar-default .navbar-nav>li>a:focus{color:#333;background-color:transparent}
.navbar-default .navbar-nav>.active>a,.navbar-default .navbar-nav>.active>a:hover,.navbar-default .navbar-nav>.active>a:focus{color:#555;background-color:#e7e7e7}
.navbar-default .navbar-nav>.disabled>a,.navbar-default .navbar-nav>.disabled>a:hover,.navbar-default .navbar-nav>.disabled>a:focus{color:#ccc;background-color:transparent}
.navbar-default .navbar-toggle{border-color:#ddd}.navbar-default .navbar-toggle:hover,.navbar-default .navbar-toggle:focus{background-color:#ddd}
.navbar-default .navbar-toggle .icon-bar{background-color:#ccc}
.navbar-default .navbar-collapse,.navbar-default .navbar-form{border-color:#e6e6e6}
.navbar-default .navbar-nav>.dropdown>a:hover .caret,.navbar-default .navbar-nav>.dropdown>a:focus .caret{border-top-color:#333;border-bottom-color:#333}
.navbar-default .navbar-nav>.open>a,.navbar-default .navbar-nav>.open>a:hover,.navbar-default .navbar-nav>.open>a:focus{background-color:#e7e7e7;color:#555}.navbar-default .navbar-nav>.open>a .caret,.navbar-default .navbar-nav>.open>a:hover .caret,.navbar-default .navbar-nav>.open>a:focus .caret{border-top-color:#555;border-bottom-color:#555}
.navbar-default .navbar-nav>.dropdown>a .caret{border-top-color:#777;border-bottom-color:#777}
@media (max-width:767px){.navbar-default .navbar-nav .open .dropdown-menu>li>a{color:#777}.navbar-default .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>li>a:focus{color:#333;background-color:transparent} .navbar-default .navbar-nav .open .dropdown-menu>.active>a,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.active>a:focus{color:#555;background-color:#e7e7e7} .navbar-default .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-default .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#ccc;background-color:transparent}}
.navbar-default .navbar-link{color:#777}.navbar-default .navbar-link:hover{color:#333}
.navbar-inverse{background-color:#222;border-color:#080808}.navbar-inverse .navbar-brand{color:#999}.navbar-inverse .navbar-brand:hover,.navbar-inverse .navbar-brand:focus{color:#fff;background-color:transparent}
.navbar-inverse .navbar-text{color:#999}
.navbar-inverse .navbar-nav>li>a{color:#999}.navbar-inverse .navbar-nav>li>a:hover,.navbar-inverse .navbar-nav>li>a:focus{color:#fff;background-color:transparent}
.navbar-inverse .navbar-nav>.active>a,.navbar-inverse .navbar-nav>.active>a:hover,.navbar-inverse .navbar-nav>.active>a:focus{color:#fff;background-color:#080808}
.navbar-inverse .navbar-nav>.disabled>a,.navbar-inverse .navbar-nav>.disabled>a:hover,.navbar-inverse .navbar-nav>.disabled>a:focus{color:#444;background-color:transparent}
.navbar-inverse .navbar-toggle{border-color:#333}.navbar-inverse .navbar-toggle:hover,.navbar-inverse .navbar-toggle:focus{background-color:#333}
.navbar-inverse .navbar-toggle .icon-bar{background-color:#fff}
.navbar-inverse .navbar-collapse,.navbar-inverse .navbar-form{border-color:#101010}
.navbar-inverse .navbar-nav>.open>a,.navbar-inverse .navbar-nav>.open>a:hover,.navbar-inverse .navbar-nav>.open>a:focus{background-color:#080808;color:#fff}
.navbar-inverse .navbar-nav>.dropdown>a:hover .caret{border-top-color:#fff;border-bottom-color:#fff}
.navbar-inverse .navbar-nav>.dropdown>a .caret{border-top-color:#999;border-bottom-color:#999}
.navbar-inverse .navbar-nav>.open>a .caret,.navbar-inverse .navbar-nav>.open>a:hover .caret,.navbar-inverse .navbar-nav>.open>a:focus .caret{border-top-color:#fff;border-bottom-color:#fff}
@media (max-width:767px){.navbar-inverse .navbar-nav .open .dropdown-menu>.dropdown-header{border-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu>li>a{color:#999}.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>li>a:focus{color:#fff;background-color:transparent} .navbar-inverse .navbar-nav .open .dropdown-menu>.active>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.active>a:focus{color:#fff;background-color:#080808} .navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:hover,.navbar-inverse .navbar-nav .open .dropdown-menu>.disabled>a:focus{color:#444;background-color:transparent}}
.navbar-inverse .navbar-link{color:#999}.navbar-inverse .navbar-link:hover{color:#fff}
.breadcrumb{padding:8px 15px;margin-bottom:20px;list-style:none;background-color:#f5f5f5;border-radius:4px}.breadcrumb>li{display:inline-block}.breadcrumb>li+li:before{content:"/\00a0";padding:0 5px;color:#ccc}
.breadcrumb>.active{color:#999}
.pagination{display:inline-block;padding-left:0;margin:20px 0;border-radius:4px}.pagination>li{display:inline}.pagination>li>a,.pagination>li>span{position:relative;float:left;padding:6px 12px;line-height:1.428571429;text-decoration:none;background-color:#fff;border:1px solid #ddd;margin-left:-1px}
.pagination>li:first-child>a,.pagination>li:first-child>span{margin-left:0;border-bottom-left-radius:4px;border-top-left-radius:4px}
.pagination>li:last-child>a,.pagination>li:last-child>span{border-bottom-right-radius:4px;border-top-right-radius:4px}
.pagination>li>a:hover,.pagination>li>span:hover,.pagination>li>a:focus,.pagination>li>span:focus{background-color:#eee}
.pagination>.active>a,.pagination>.active>span,.pagination>.active>a:hover,.pagination>.active>span:hover,.pagination>.active>a:focus,.pagination>.active>span:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca;cursor:default}
.pagination>.disabled>span,.pagination>.disabled>a,.pagination>.disabled>a:hover,.pagination>.disabled>a:focus{color:#999;background-color:#fff;border-color:#ddd;cursor:not-allowed}
.pagination-lg>li>a,.pagination-lg>li>span{padding:10px 16px;font-size:18px}
.pagination-lg>li:first-child>a,.pagination-lg>li:first-child>span{border-bottom-left-radius:6px;border-top-left-radius:6px}
.pagination-lg>li:last-child>a,.pagination-lg>li:last-child>span{border-bottom-right-radius:6px;border-top-right-radius:6px}
.pagination-sm>li>a,.pagination-sm>li>span{padding:5px 10px;font-size:12px}
.pagination-sm>li:first-child>a,.pagination-sm>li:first-child>span{border-bottom-left-radius:3px;border-top-left-radius:3px}
.pagination-sm>li:last-child>a,.pagination-sm>li:last-child>span{border-bottom-right-radius:3px;border-top-right-radius:3px}
.pager{padding-left:0;margin:20px 0;list-style:none;text-align:center}.pager:before,.pager:after{content:" ";display:table;}
.pager:after{clear:both}
.pager:before,.pager:after{content:" ";display:table;}
.pager:after{clear:both}
.pager li{display:inline}.pager li>a,.pager li>span{display:inline-block;padding:5px 14px;background-color:#fff;border:1px solid #ddd;border-radius:15px}
.pager li>a:hover,.pager li>a:focus{text-decoration:none;background-color:#eee}
.pager .next>a,.pager .next>span{float:right}
.pager .previous>a,.pager .previous>span{float:left}
.pager .disabled>a,.pager .disabled>a:hover,.pager .disabled>a:focus,.pager .disabled>span{color:#999;background-color:#fff;cursor:not-allowed}
.label{display:inline;padding:.2em .6em .3em;font-size:75%;font-weight:bold;line-height:1;color:#fff;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25em}.label[href]:hover,.label[href]:focus{color:#fff;text-decoration:none;cursor:pointer}
.label:empty{display:none}
.label-default{background-color:#999}.label-default[href]:hover,.label-default[href]:focus{background-color:#808080}
.label-primary{background-color:#428bca}.label-primary[href]:hover,.label-primary[href]:focus{background-color:#3071a9}
.label-success{background-color:#5cb85c}.label-success[href]:hover,.label-success[href]:focus{background-color:#449d44}
.label-info{background-color:#5bc0de}.label-info[href]:hover,.label-info[href]:focus{background-color:#31b0d5}
.label-warning{background-color:#f0ad4e}.label-warning[href]:hover,.label-warning[href]:focus{background-color:#ec971f}
.label-danger{background-color:#d9534f}.label-danger[href]:hover,.label-danger[href]:focus{background-color:#c9302c}
.badge{display:inline-block;min-width:10px;padding:3px 7px;font-size:12px;font-weight:bold;color:#fff;line-height:1;vertical-align:baseline;white-space:nowrap;text-align:center;background-color:#999;border-radius:10px}.badge:empty{display:none}
a.badge:hover,a.badge:focus{color:#fff;text-decoration:none;cursor:pointer}
.btn .badge{position:relative;top:-1px}
a.list-group-item.active>.badge,.nav-pills>.active>a>.badge{color:#428bca;background-color:#fff}
.nav-pills>li>a>.badge{margin-left:3px}
.jumbotron{padding:30px;margin-bottom:30px;font-size:21px;font-weight:200;line-height:2.1428571435;color:inherit;background-color:#eee}.jumbotron h1{line-height:1;color:inherit}
.jumbotron p{line-height:1.4}
.container .jumbotron{border-radius:6px}
@media screen and (min-width:768px){.jumbotron{padding-top:48px;padding-bottom:48px}.container .jumbotron{padding-left:60px;padding-right:60px} .jumbotron h1{font-size:63px}}
.thumbnail{padding:4px;line-height:1.428571429;background-color:#fff;border:1px solid #ddd;border-radius:4px;-webkit-transition:all .2s ease-in-out;transition:all .2s ease-in-out;display:inline-block;max-width:100%;height:auto;display:block}.thumbnail>img{height:auto;display:block;max-width:100%;height:auto}
a.thumbnail:hover,a.thumbnail:focus{border-color:#428bca}
.thumbnail>img{margin-left:auto;margin-right:auto}
.thumbnail .caption{padding:9px;color:#000}
.alert{padding:15px;margin-bottom:20px;border:1px solid transparent;border-radius:4px}.alert h4{margin-top:0;color:inherit}
.alert .alert-link{font-weight:bold}
.alert>p,.alert>ul{margin-bottom:0}
.alert>p+p{margin-top:5px}
.alert-dismissable{padding-right:35px}.alert-dismissable .close{position:relative;top:-2px;right:-21px;color:inherit}
.alert-success{background-color:#dff0d8;border-color:#d6e9c6;color:#468847}.alert-success hr{border-top-color:#c9e2b3}
.alert-success .alert-link{color:#356635}
.alert-info{background-color:#d9edf7;border-color:#bce8f1;color:#3a87ad}.alert-info hr{border-top-color:#a6e1ec}
.alert-info .alert-link{color:#2d6987}
.alert-warning{background-color:#fcf8e3;border-color:#fbeed5;color:#c09853}.alert-warning hr{border-top-color:#f8e5be}
.alert-warning .alert-link{color:#a47e3c}
.alert-danger{background-color:#f2dede;border-color:#eed3d7;color:#b94a48}.alert-danger hr{border-top-color:#e6c1c7}
.alert-danger .alert-link{color:#953b39}
@-webkit-keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}@-moz-keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}@-o-keyframes progress-bar-stripes{from{background-position:0 0} to{background-position:40px 0}}@keyframes progress-bar-stripes{from{background-position:40px 0} to{background-position:0 0}}.progress{overflow:hidden;height:20px;margin-bottom:20px;background-color:#f5f5f5;border-radius:4px;-webkit-box-shadow:inset 0 1px 2px rgba(0,0,0,0.1);box-shadow:inset 0 1px 2px rgba(0,0,0,0.1)}
.progress-bar{float:left;width:0%;height:100%;font-size:12px;color:#fff;text-align:center;background-color:#428bca;-webkit-box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);box-shadow:inset 0 -1px 0 rgba(0,0,0,0.15);-webkit-transition:width .6s ease;transition:width .6s ease}
.progress-striped .progress-bar{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-size:40px 40px}
.progress.active .progress-bar{-webkit-animation:progress-bar-stripes 2s linear infinite;-moz-animation:progress-bar-stripes 2s linear infinite;-ms-animation:progress-bar-stripes 2s linear infinite;-o-animation:progress-bar-stripes 2s linear infinite;animation:progress-bar-stripes 2s linear infinite}
.progress-bar-success{background-color:#5cb85c}.progress-striped .progress-bar-success{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.progress-bar-info{background-color:#5bc0de}.progress-striped .progress-bar-info{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.progress-bar-warning{background-color:#f0ad4e}.progress-striped .progress-bar-warning{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.progress-bar-danger{background-color:#d9534f}.progress-striped .progress-bar-danger{background-image:-webkit-gradient(linear, 0 100%, 100% 0, color-stop(.25, rgba(255,255,255,0.15)), color-stop(.25, transparent), color-stop(.5, transparent), color-stop(.5, rgba(255,255,255,0.15)), color-stop(.75, rgba(255,255,255,0.15)), color-stop(.75, transparent), to(transparent));background-image:-webkit-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:-moz-linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent);background-image:linear-gradient(45deg, rgba(255,255,255,0.15) 25%, transparent 25%, transparent 50%, rgba(255,255,255,0.15) 50%, rgba(255,255,255,0.15) 75%, transparent 75%, transparent)}
.media,.media-body{overflow:hidden;zoom:1}
.media,.media .media{margin-top:15px}
.media:first-child{margin-top:0}
.media-object{display:block}
.media-heading{margin:0 0 5px}
.media>.pull-left{margin-right:10px}
.media>.pull-right{margin-left:10px}
.media-list{padding-left:0;list-style:none}
.list-group{margin-bottom:20px;padding-left:0}
.list-group-item{position:relative;display:block;padding:10px 15px;margin-bottom:-1px;background-color:#fff;border:1px solid #ddd}.list-group-item:first-child{border-top-right-radius:4px;border-top-left-radius:4px}
.list-group-item:last-child{margin-bottom:0;border-bottom-right-radius:4px;border-bottom-left-radius:4px}
.list-group-item>.badge{float:right}
.list-group-item>.badge+.badge{margin-right:5px}
a.list-group-item{color:#555}a.list-group-item .list-group-item-heading{color:#333}
a.list-group-item:hover,a.list-group-item:focus{text-decoration:none;background-color:#f5f5f5}
.list-group-item.active,.list-group-item.active:hover,.list-group-item.active:focus{z-index:2;color:#fff;background-color:#428bca;border-color:#428bca}.list-group-item.active .list-group-item-heading,.list-group-item.active:hover .list-group-item-heading,.list-group-item.active:focus .list-group-item-heading{color:inherit}
.list-group-item.active .list-group-item-text,.list-group-item.active:hover .list-group-item-text,.list-group-item.active:focus .list-group-item-text{color:#e1edf7}
.list-group-item-heading{margin-top:0;margin-bottom:5px}
.list-group-item-text{margin-bottom:0;line-height:1.3}
.panel{margin-bottom:20px;background-color:#fff;border:1px solid transparent;border-radius:4px;-webkit-box-shadow:0 1px 1px rgba(0,0,0,0.05);box-shadow:0 1px 1px rgba(0,0,0,0.05)}
.panel-body{padding:15px}.panel-body:before,.panel-body:after{content:" ";display:table;}
.panel-body:after{clear:both}
.panel-body:before,.panel-body:after{content:" ";display:table;}
.panel-body:after{clear:both}
.panel>.list-group{margin-bottom:0}.panel>.list-group .list-group-item{border-width:1px 0}.panel>.list-group .list-group-item:first-child{border-top-right-radius:0;border-top-left-radius:0}
.panel>.list-group .list-group-item:last-child{border-bottom:0}
.panel-heading+.list-group .list-group-item:first-child{border-top-width:0}
.panel>.table{margin-bottom:0}
.panel>.panel-body+.table{border-top:1px solid #ddd}
.panel-heading{padding:10px 15px;border-bottom:1px solid transparent;border-top-right-radius:3px;border-top-left-radius:3px}
.panel-title{margin-top:0;margin-bottom:0;font-size:16px}.panel-title>a{color:inherit}
.panel-footer{padding:10px 15px;background-color:#f5f5f5;border-top:1px solid #ddd;border-bottom-right-radius:3px;border-bottom-left-radius:3px}
.panel-group .panel{margin-bottom:0;border-radius:4px;overflow:hidden}.panel-group .panel+.panel{margin-top:5px}
.panel-group .panel-heading{border-bottom:0}.panel-group .panel-heading+.panel-collapse .panel-body{border-top:1px solid #ddd}
.panel-group .panel-footer{border-top:0}.panel-group .panel-footer+.panel-collapse .panel-body{border-bottom:1px solid #ddd}
.panel-default{border-color:#ddd}.panel-default>.panel-heading{color:#333;background-color:#f5f5f5;border-color:#ddd}.panel-default>.panel-heading+.panel-collapse .panel-body{border-top-color:#ddd}
.panel-default>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#ddd}
.panel-primary{border-color:#428bca}.panel-primary>.panel-heading{color:#fff;background-color:#428bca;border-color:#428bca}.panel-primary>.panel-heading+.panel-collapse .panel-body{border-top-color:#428bca}
.panel-primary>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#428bca}
.panel-success{border-color:#d6e9c6}.panel-success>.panel-heading{color:#468847;background-color:#dff0d8;border-color:#d6e9c6}.panel-success>.panel-heading+.panel-collapse .panel-body{border-top-color:#d6e9c6}
.panel-success>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#d6e9c6}
.panel-warning{border-color:#fbeed5}.panel-warning>.panel-heading{color:#c09853;background-color:#fcf8e3;border-color:#fbeed5}.panel-warning>.panel-heading+.panel-collapse .panel-body{border-top-color:#fbeed5}
.panel-warning>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#fbeed5}
.panel-danger{border-color:#eed3d7}.panel-danger>.panel-heading{color:#b94a48;background-color:#f2dede;border-color:#eed3d7}.panel-danger>.panel-heading+.panel-collapse .panel-body{border-top-color:#eed3d7}
.panel-danger>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#eed3d7}
.panel-info{border-color:#bce8f1}.panel-info>.panel-heading{color:#3a87ad;background-color:#d9edf7;border-color:#bce8f1}.panel-info>.panel-heading+.panel-collapse .panel-body{border-top-color:#bce8f1}
.panel-info>.panel-footer+.panel-collapse .panel-body{border-bottom-color:#bce8f1}
.well{min-height:20px;padding:19px;margin-bottom:20px;background-color:#f5f5f5;border:1px solid #e3e3e3;border-radius:4px;-webkit-box-shadow:inset 0 1px 1px rgba(0,0,0,0.05);box-shadow:inset 0 1px 1px rgba(0,0,0,0.05)}.well blockquote{border-color:#ddd;border-color:rgba(0,0,0,0.15)}
.well-lg{padding:24px;border-radius:6px}
.well-sm{padding:9px;border-radius:3px}
.close{float:right;font-size:21px;font-weight:bold;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.2;filter:alpha(opacity=20)}.close:hover,.close:focus{color:#000;text-decoration:none;cursor:pointer;opacity:.5;filter:alpha(opacity=50)}
button.close{padding:0;cursor:pointer;background:transparent;border:0;-webkit-appearance:none}
.modal-open{overflow:hidden}body.modal-open,.modal-open .navbar-fixed-top,.modal-open .navbar-fixed-bottom{margin-right:15px}
.modal{display:none;overflow:auto;overflow-y:scroll;position:fixed;top:0;right:0;bottom:0;left:0;z-index:1040}.modal.fade .modal-dialog{-webkit-transform:translate(0, -25%);-ms-transform:translate(0, -25%);transform:translate(0, -25%);-webkit-transition:-webkit-transform 0.3s ease-out;-moz-transition:-moz-transform 0.3s ease-out;-o-transition:-o-transform 0.3s ease-out;transition:transform 0.3s ease-out}
.modal.in .modal-dialog{-webkit-transform:translate(0, 0);-ms-transform:translate(0, 0);transform:translate(0, 0)}
.modal-dialog{margin-left:auto;margin-right:auto;width:auto;padding:10px;z-index:1050}
.modal-content{position:relative;background-color:#fff;border:1px solid #999;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 3px 9px rgba(0,0,0,0.5);box-shadow:0 3px 9px rgba(0,0,0,0.5);background-clip:padding-box;outline:none}
.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1030;background-color:#000}.modal-backdrop.fade{opacity:0;filter:alpha(opacity=0)}
.modal-backdrop.in{opacity:.5;filter:alpha(opacity=50)}
.modal-header{padding:15px;border-bottom:1px solid #e5e5e5;min-height:16.428571429px}
.modal-header .close{margin-top:-2px}
.modal-title{margin:0;line-height:1.428571429}
.modal-body{position:relative;padding:20px}
.modal-footer{margin-top:15px;padding:19px 20px 20px;text-align:right;border-top:1px solid #e5e5e5}.modal-footer:before,.modal-footer:after{content:" ";display:table;}
.modal-footer:after{clear:both}
.modal-footer:before,.modal-footer:after{content:" ";display:table;}
.modal-footer:after{clear:both}
.modal-footer .btn+.btn{margin-left:5px;margin-bottom:0}
.modal-footer .btn-group .btn+.btn{margin-left:-1px}
.modal-footer .btn-block+.btn-block{margin-left:0}
@media screen and (min-width:768px){.modal-dialog{left:50%;right:auto;width:600px;padding-top:30px;padding-bottom:30px} .modal-content{-webkit-box-shadow:0 5px 15px rgba(0,0,0,0.5);box-shadow:0 5px 15px rgba(0,0,0,0.5)}}.tooltip{position:absolute;z-index:1030;display:block;visibility:visible;font-size:12px;line-height:1.4;opacity:0;filter:alpha(opacity=0)}.tooltip.in{opacity:.9;filter:alpha(opacity=90)}
.tooltip.top{margin-top:-3px;padding:5px 0}
.tooltip.right{margin-left:3px;padding:0 5px}
.tooltip.bottom{margin-top:3px;padding:5px 0}
.tooltip.left{margin-left:-3px;padding:0 5px}
.tooltip-inner{max-width:200px;padding:3px 8px;color:#fff;text-align:center;text-decoration:none;background-color:#000;border-radius:4px}
.tooltip-arrow{position:absolute;width:0;height:0;border-color:transparent;border-style:solid}
.tooltip.top .tooltip-arrow{bottom:0;left:50%;margin-left:-5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.top-left .tooltip-arrow{bottom:0;left:5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.top-right .tooltip-arrow{bottom:0;right:5px;border-width:5px 5px 0;border-top-color:#000}
.tooltip.right .tooltip-arrow{top:50%;left:0;margin-top:-5px;border-width:5px 5px 5px 0;border-right-color:#000}
.tooltip.left .tooltip-arrow{top:50%;right:0;margin-top:-5px;border-width:5px 0 5px 5px;border-left-color:#000}
.tooltip.bottom .tooltip-arrow{top:0;left:50%;margin-left:-5px;border-width:0 5px 5px;border-bottom-color:#000}
.tooltip.bottom-left .tooltip-arrow{top:0;left:5px;border-width:0 5px 5px;border-bottom-color:#000}
.tooltip.bottom-right .tooltip-arrow{top:0;right:5px;border-width:0 5px 5px;border-bottom-color:#000}
.popover{position:absolute;top:0;left:0;z-index:1010;display:none;max-width:276px;padding:1px;text-align:left;background-color:#fff;background-clip:padding-box;border:1px solid #ccc;border:1px solid rgba(0,0,0,0.2);border-radius:6px;-webkit-box-shadow:0 5px 10px rgba(0,0,0,0.2);box-shadow:0 5px 10px rgba(0,0,0,0.2);white-space:normal}.popover.top{margin-top:-10px}
.popover.right{margin-left:10px}
.popover.bottom{margin-top:10px}
.popover.left{margin-left:-10px}
.popover-title{margin:0;padding:8px 14px;font-size:14px;font-weight:normal;line-height:18px;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-radius:5px 5px 0 0}
.popover-content{padding:9px 14px}
.popover .arrow,.popover .arrow:after{position:absolute;display:block;width:0;height:0;border-color:transparent;border-style:solid}
.popover .arrow{border-width:11px}
.popover .arrow:after{border-width:10px;content:""}
.popover.top .arrow{left:50%;margin-left:-11px;border-bottom-width:0;border-top-color:#999;border-top-color:rgba(0,0,0,0.25);bottom:-11px}.popover.top .arrow:after{content:" ";bottom:1px;margin-left:-10px;border-bottom-width:0;border-top-color:#fff}
.popover.right .arrow{top:50%;left:-11px;margin-top:-11px;border-left-width:0;border-right-color:#999;border-right-color:rgba(0,0,0,0.25)}.popover.right .arrow:after{content:" ";left:1px;bottom:-10px;border-left-width:0;border-right-color:#fff}
.popover.bottom .arrow{left:50%;margin-left:-11px;border-top-width:0;border-bottom-color:#999;border-bottom-color:rgba(0,0,0,0.25);top:-11px}.popover.bottom .arrow:after{content:" ";top:1px;margin-left:-10px;border-top-width:0;border-bottom-color:#fff}
.popover.left .arrow{top:50%;right:-11px;margin-top:-11px;border-right-width:0;border-left-color:#999;border-left-color:rgba(0,0,0,0.25)}.popover.left .arrow:after{content:" ";right:1px;border-right-width:0;border-left-color:#fff;bottom:-10px}
.carousel{position:relative}
.carousel-inner{position:relative;overflow:hidden;width:100%}.carousel-inner>.item{display:none;position:relative;-webkit-transition:.6s ease-in-out left;transition:.6s ease-in-out left}.carousel-inner>.item>img,.carousel-inner>.item>a>img{display:block;max-width:100%;height:auto;line-height:1}
.carousel-inner>.active,.carousel-inner>.next,.carousel-inner>.prev{display:block}
.carousel-inner>.active{left:0}
.carousel-inner>.next,.carousel-inner>.prev{position:absolute;top:0;width:100%}
.carousel-inner>.next{left:100%}
.carousel-inner>.prev{left:-100%}
.carousel-inner>.next.left,.carousel-inner>.prev.right{left:0}
.carousel-inner>.active.left{left:-100%}
.carousel-inner>.active.right{left:100%}
.carousel-control{position:absolute;top:0;left:0;bottom:0;width:15%;opacity:.5;filter:alpha(opacity=50);font-size:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-control.left{background-image:-webkit-gradient(linear, 0 top, 100% top, from(rgba(0,0,0,0.5)), to(rgba(0,0,0,0.0001)));background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.5) 0), color-stop(rgba(0,0,0,0.0001) 100%));background-image:-moz-linear-gradient(left, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.5) 0, rgba(0,0,0,0.0001) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#80000000', endColorstr='#00000000', GradientType=1)}
.carousel-control.right{left:auto;right:0;background-image:-webkit-gradient(linear, 0 top, 100% top, from(rgba(0,0,0,0.0001)), to(rgba(0,0,0,0.5)));background-image:-webkit-linear-gradient(left, color-stop(rgba(0,0,0,0.0001) 0), color-stop(rgba(0,0,0,0.5) 100%));background-image:-moz-linear-gradient(left, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-image:linear-gradient(to right, rgba(0,0,0,0.0001) 0, rgba(0,0,0,0.5) 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#00000000', endColorstr='#80000000', GradientType=1)}
.carousel-control:hover,.carousel-control:focus{color:#fff;text-decoration:none;opacity:.9;filter:alpha(opacity=90)}
.carousel-control .icon-prev,.carousel-control .icon-next,.carousel-control .glyphicon-chevron-left,.carousel-control .glyphicon-chevron-right{position:absolute;top:50%;left:50%;z-index:5;display:inline-block}
.carousel-control .icon-prev,.carousel-control .icon-next{width:20px;height:20px;margin-top:-10px;margin-left:-10px;font-family:serif}
.carousel-control .icon-prev:before{content:'\2039'}
.carousel-control .icon-next:before{content:'\203a'}
.carousel-indicators{position:absolute;bottom:10px;left:50%;z-index:15;width:60%;margin-left:-30%;padding-left:0;list-style:none;text-align:center}.carousel-indicators li{display:inline-block;width:10px;height:10px;margin:1px;text-indent:-999px;border:1px solid #fff;border-radius:10px;cursor:pointer}
.carousel-indicators .active{margin:0;width:12px;height:12px;background-color:#fff}
.carousel-caption{position:absolute;left:15%;right:15%;bottom:20px;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center;text-shadow:0 1px 2px rgba(0,0,0,0.6)}.carousel-caption .btn{text-shadow:none}
@media screen and (min-width:768px){.carousel-control .icon-prev,.carousel-control .icon-next{width:30px;height:30px;margin-top:-15px;margin-left:-15px;font-size:30px} .carousel-caption{left:20%;right:20%;padding-bottom:30px} .carousel-indicators{bottom:20px}}.clearfix:before,.clearfix:after{content:" ";display:table;}
.clearfix:after{clear:both}
.pull-right{float:right !important}
.pull-left{float:left !important}
.hide{display:none !important}
.show{display:block !important}
.invisible{visibility:hidden}
.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}
.affix{position:fixed}
@-ms-viewport{width:device-width}@media screen and (max-width:400px){@-ms-viewport{width:320px}}.hidden{display:none !important;visibility:hidden !important}
.visible-xs{display:none !important}tr.visible-xs{display:none !important}
th.visible-xs,td.visible-xs{display:none !important}
@media (max-width:767px){.visible-xs{display:block !important}tr.visible-xs{display:table-row !important} th.visible-xs,td.visible-xs{display:table-cell !important}}@media (min-width:768px) and (max-width:991px){.visible-xs.visible-sm{display:block !important}tr.visible-xs.visible-sm{display:table-row !important} th.visible-xs.visible-sm,td.visible-xs.visible-sm{display:table-cell !important}}
@media (min-width:992px) and (max-width:1199px){.visible-xs.visible-md{display:block !important}tr.visible-xs.visible-md{display:table-row !important} th.visible-xs.visible-md,td.visible-xs.visible-md{display:table-cell !important}}
@media (min-width:1200px){.visible-xs.visible-lg{display:block !important}tr.visible-xs.visible-lg{display:table-row !important} th.visible-xs.visible-lg,td.visible-xs.visible-lg{display:table-cell !important}}
.visible-sm{display:none !important}tr.visible-sm{display:none !important}
th.visible-sm,td.visible-sm{display:none !important}
@media (max-width:767px){.visible-sm.visible-xs{display:block !important}tr.visible-sm.visible-xs{display:table-row !important} th.visible-sm.visible-xs,td.visible-sm.visible-xs{display:table-cell !important}}
@media (min-width:768px) and (max-width:991px){.visible-sm{display:block !important}tr.visible-sm{display:table-row !important} th.visible-sm,td.visible-sm{display:table-cell !important}}@media (min-width:992px) and (max-width:1199px){.visible-sm.visible-md{display:block !important}tr.visible-sm.visible-md{display:table-row !important} th.visible-sm.visible-md,td.visible-sm.visible-md{display:table-cell !important}}
@media (min-width:1200px){.visible-sm.visible-lg{display:block !important}tr.visible-sm.visible-lg{display:table-row !important} th.visible-sm.visible-lg,td.visible-sm.visible-lg{display:table-cell !important}}
.visible-md{display:none !important}tr.visible-md{display:none !important}
th.visible-md,td.visible-md{display:none !important}
@media (max-width:767px){.visible-md.visible-xs{display:block !important}tr.visible-md.visible-xs{display:table-row !important} th.visible-md.visible-xs,td.visible-md.visible-xs{display:table-cell !important}}
@media (min-width:768px) and (max-width:991px){.visible-md.visible-sm{display:block !important}tr.visible-md.visible-sm{display:table-row !important} th.visible-md.visible-sm,td.visible-md.visible-sm{display:table-cell !important}}
@media (min-width:992px) and (max-width:1199px){.visible-md{display:block !important}tr.visible-md{display:table-row !important} th.visible-md,td.visible-md{display:table-cell !important}}@media (min-width:1200px){.visible-md.visible-lg{display:block !important}tr.visible-md.visible-lg{display:table-row !important} th.visible-md.visible-lg,td.visible-md.visible-lg{display:table-cell !important}}
.visible-lg{display:none !important}tr.visible-lg{display:none !important}
th.visible-lg,td.visible-lg{display:none !important}
@media (max-width:767px){.visible-lg.visible-xs{display:block !important}tr.visible-lg.visible-xs{display:table-row !important} th.visible-lg.visible-xs,td.visible-lg.visible-xs{display:table-cell !important}}
@media (min-width:768px) and (max-width:991px){.visible-lg.visible-sm{display:block !important}tr.visible-lg.visible-sm{display:table-row !important} th.visible-lg.visible-sm,td.visible-lg.visible-sm{display:table-cell !important}}
@media (min-width:992px) and (max-width:1199px){.visible-lg.visible-md{display:block !important}tr.visible-lg.visible-md{display:table-row !important} th.visible-lg.visible-md,td.visible-lg.visible-md{display:table-cell !important}}
@media (min-width:1200px){.visible-lg{display:block !important}tr.visible-lg{display:table-row !important} th.visible-lg,td.visible-lg{display:table-cell !important}}
.hidden-xs{display:block !important}tr.hidden-xs{display:table-row !important}
th.hidden-xs,td.hidden-xs{display:table-cell !important}
@media (max-width:767px){.hidden-xs{display:none !important}tr.hidden-xs{display:none !important} th.hidden-xs,td.hidden-xs{display:none !important}}@media (min-width:768px) and (max-width:991px){.hidden-xs.hidden-sm{display:none !important}tr.hidden-xs.hidden-sm{display:none !important} th.hidden-xs.hidden-sm,td.hidden-xs.hidden-sm{display:none !important}}
@media (min-width:992px) and (max-width:1199px){.hidden-xs.hidden-md{display:none !important}tr.hidden-xs.hidden-md{display:none !important} th.hidden-xs.hidden-md,td.hidden-xs.hidden-md{display:none !important}}
@media (min-width:1200px){.hidden-xs.hidden-lg{display:none !important}tr.hidden-xs.hidden-lg{display:none !important} th.hidden-xs.hidden-lg,td.hidden-xs.hidden-lg{display:none !important}}
.hidden-sm{display:block !important}tr.hidden-sm{display:table-row !important}
th.hidden-sm,td.hidden-sm{display:table-cell !important}
@media (max-width:767px){.hidden-sm.hidden-xs{display:none !important}tr.hidden-sm.hidden-xs{display:none !important} th.hidden-sm.hidden-xs,td.hidden-sm.hidden-xs{display:none !important}}
@media (min-width:768px) and (max-width:991px){.hidden-sm{display:none !important}tr.hidden-sm{display:none !important} th.hidden-sm,td.hidden-sm{display:none !important}}@media (min-width:992px) and (max-width:1199px){.hidden-sm.hidden-md{display:none !important}tr.hidden-sm.hidden-md{display:none !important} th.hidden-sm.hidden-md,td.hidden-sm.hidden-md{display:none !important}}
@media (min-width:1200px){.hidden-sm.hidden-lg{display:none !important}tr.hidden-sm.hidden-lg{display:none !important} th.hidden-sm.hidden-lg,td.hidden-sm.hidden-lg{display:none !important}}
.hidden-md{display:block !important}tr.hidden-md{display:table-row !important}
th.hidden-md,td.hidden-md{display:table-cell !important}
@media (max-width:767px){.hidden-md.hidden-xs{display:none !important}tr.hidden-md.hidden-xs{display:none !important} th.hidden-md.hidden-xs,td.hidden-md.hidden-xs{display:none !important}}
@media (min-width:768px) and (max-width:991px){.hidden-md.hidden-sm{display:none !important}tr.hidden-md.hidden-sm{display:none !important} th.hidden-md.hidden-sm,td.hidden-md.hidden-sm{display:none !important}}
@media (min-width:992px) and (max-width:1199px){.hidden-md{display:none !important}tr.hidden-md{display:none !important} th.hidden-md,td.hidden-md{display:none !important}}@media (min-width:1200px){.hidden-md.hidden-lg{display:none !important}tr.hidden-md.hidden-lg{display:none !important} th.hidden-md.hidden-lg,td.hidden-md.hidden-lg{display:none !important}}
.hidden-lg{display:block !important}tr.hidden-lg{display:table-row !important}
th.hidden-lg,td.hidden-lg{display:table-cell !important}
@media (max-width:767px){.hidden-lg.hidden-xs{display:none !important}tr.hidden-lg.hidden-xs{display:none !important} th.hidden-lg.hidden-xs,td.hidden-lg.hidden-xs{display:none !important}}
@media (min-width:768px) and (max-width:991px){.hidden-lg.hidden-sm{display:none !important}tr.hidden-lg.hidden-sm{display:none !important} th.hidden-lg.hidden-sm,td.hidden-lg.hidden-sm{display:none !important}}
@media (min-width:992px) and (max-width:1199px){.hidden-lg.hidden-md{display:none !important}tr.hidden-lg.hidden-md{display:none !important} th.hidden-lg.hidden-md,td.hidden-lg.hidden-md{display:none !important}}
@media (min-width:1200px){.hidden-lg{display:none !important}tr.hidden-lg{display:none !important} th.hidden-lg,td.hidden-lg{display:none !important}}
.visible-print{display:none !important}tr.visible-print{display:none !important}
th.visible-print,td.visible-print{display:none !important}
@media print{.visible-print{display:block !important}tr.visible-print{display:table-row !important} th.visible-print,td.visible-print{display:table-cell !important} .hidden-print{display:none !important}tr.hidden-print{display:none !important} th.hidden-print,td.hidden-print{display:none !important}}.pln{color:#000}
@media screen{.str{color:#080} .kwd{color:#008} .com{color:#800} .typ{color:#606} .lit{color:#066} .pun,.opn,.clo{color:#660} .tag{color:#008} .atn{color:#606} .atv{color:#080} .dec,.var{color:#606} .fun{color:#f00}}@media print,projection{.str{color:#060} .kwd{color:#006;font-weight:bold} .com{color:#600;font-style:italic} .typ{color:#404;font-weight:bold} .lit{color:#044} .pun,.opn,.clo{color:#440} .tag{color:#006;font-weight:bold} .atn{color:#404} .atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}
ol.linenums{margin-top:0;margin-bottom:0}
li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}
li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
.hljs{display:block;padding:0.5em;background:#F0F0F0}
.hljs,.hljs-subst,.hljs-tag .hljs-title,.lisp .hljs-title,.clojure .hljs-built_in,.nginx .hljs-title{color:black}
.hljs-string,.hljs-title,.hljs-constant,.hljs-parent,.hljs-tag .hljs-value,.hljs-rules .hljs-value,.hljs-rules .hljs-value .hljs-number,.hljs-preprocessor,.hljs-pragma,.haml .hljs-symbol,.ruby .hljs-symbol,.ruby .hljs-symbol .hljs-string,.hljs-aggregate,.hljs-template_tag,.django .hljs-variable,.smalltalk .hljs-class,.hljs-addition,.hljs-flow,.hljs-stream,.bash .hljs-variable,.apache .hljs-tag,.apache .hljs-cbracket,.tex .hljs-command,.tex .hljs-special,.erlang_repl .hljs-function_or_atom,.asciidoc .hljs-header,.markdown .hljs-header,.coffeescript .hljs-attribute{color:#800}
.smartquote,.hljs-comment,.hljs-annotation,.hljs-template_comment,.diff .hljs-header,.hljs-chunk,.asciidoc .hljs-blockquote,.markdown .hljs-blockquote{color:#888}
.hljs-number,.hljs-date,.hljs-regexp,.hljs-literal,.hljs-hexcolor,.smalltalk .hljs-symbol,.smalltalk .hljs-char,.go .hljs-constant,.hljs-change,.lasso .hljs-variable,.makefile .hljs-variable,.asciidoc .hljs-bullet,.markdown .hljs-bullet,.asciidoc .hljs-link_url,.markdown .hljs-link_url{color:#080}
.hljs-label,.hljs-javadoc,.ruby .hljs-string,.hljs-decorator,.hljs-filter .hljs-argument,.hljs-localvars,.hljs-array,.hljs-attr_selector,.hljs-important,.hljs-pseudo,.hljs-pi,.haml .hljs-bullet,.hljs-doctype,.hljs-deletion,.hljs-envvar,.hljs-shebang,.apache .hljs-sqbracket,.nginx .hljs-built_in,.tex .hljs-formula,.erlang_repl .hljs-reserved,.hljs-prompt,.asciidoc .hljs-link_label,.markdown .hljs-link_label,.vhdl .hljs-attribute,.clojure .hljs-attribute,.asciidoc .hljs-attribute,.lasso .hljs-attribute,.coffeescript .hljs-property,.hljs-phony{color:#88f}
.hljs-keyword,.hljs-id,.hljs-title,.hljs-built_in,.hljs-aggregate,.css .hljs-tag,.hljs-javadoctag,.hljs-phpdoc,.hljs-yardoctag,.smalltalk .hljs-class,.hljs-winutils,.bash .hljs-variable,.apache .hljs-tag,.go .hljs-typename,.tex .hljs-command,.asciidoc .hljs-strong,.markdown .hljs-strong,.hljs-request,.hljs-status{font-weight:bold}
.asciidoc .hljs-emphasis,.markdown .hljs-emphasis{font-style:italic}
.nginx .hljs-built_in{font-weight:normal}
.coffeescript .javascript,.javascript .xml,.lasso .markup,.tex .hljs-formula,.xml .javascript,.xml .vbscript,.xml .css,.xml .hljs-cdata{opacity:0.5}
@font-face{font-family:'fontello';src:url('../font/fontello.eot');src:url('../font/fontello.eot#iefix') format('embedded-opentype'),url('../font/fontello.woff') format('woff'),url('../font/fontello.ttf') format('truetype'),url('../font/fontello.svg#fontello') format('svg');font-weight:normal;font-style:normal}[class^="icon-"]:before,[class*=" icon-"]:before{font-family:"fontello";font-style:normal;font-weight:normal;speak:none;display:inline-block;text-decoration:inherit;width:1em;margin-right:.2em;text-align:center;font-variant:normal;text-transform:none;line-height:1em;margin-left:.2em;}
.icon-glass:before{content:'\e801'}
.icon-archive:before{content:'\e859'}
.icon-search:before{content:'\e803'}
.icon-mail:before{content:'\e804'}
.icon-mail-alt:before{content:'\e805'}
.icon-heart:before{content:'\e806'}
.icon-heart-empty:before{content:'\e807'}
.icon-star:before{content:'\e808'}
.icon-star-empty:before{content:'\e809'}
.icon-star-half:before{content:'\e80a'}
.icon-star-half-alt:before{content:'\e80b'}
.icon-user:before{content:'\e80c'}
.icon-users:before{content:'\e80d'}
.icon-male:before{content:'\e80e'}
.icon-female:before{content:'\e80f'}
.icon-video:before{content:'\e810'}
.icon-videocam:before{content:'\e811'}
.icon-picture:before{content:'\e812'}
.icon-camera:before{content:'\e813'}
.icon-camera-alt:before{content:'\e814'}
.icon-th-large:before{content:'\e815'}
.icon-th:before{content:'\e816'}
.icon-th-list:before{content:'\e817'}
.icon-ok:before{content:'\e818'}
.icon-ok-circled:before{content:'\e819'}
.icon-ok-circled2:before{content:'\e81a'}
.icon-ok-squared:before{content:'\e81b'}
.icon-cancel:before{content:'\e81c'}
.icon-cancel-circled:before{content:'\e81d'}
.icon-cancel-circled2:before{content:'\e86f'}
.icon-plus:before{content:'\e81f'}
.icon-plus-circled:before{content:'\e820'}
.icon-plus-squared:before{content:'\e821'}
.icon-plus-squared-small:before{content:'\e822'}
.icon-minus:before{content:'\e823'}
.icon-minus-circled:before{content:'\e824'}
.icon-minus-squared:before{content:'\e825'}
.icon-minus-squared-alt:before{content:'\e826'}
.icon-minus-squared-small:before{content:'\e827'}
.icon-help:before{content:'\e828'}
.icon-help-circled:before{content:'\e939'}
.icon-info-circled:before{content:'\e93a'}
.icon-info:before{content:'\e93b'}
.icon-home:before{content:'\e93c'}
.icon-link:before{content:'\e83f'}
.icon-unlink:before{content:'\e82a'}
.icon-link-ext:before{content:'\e82b'}
.icon-link-ext-alt:before{content:'\e82c'}
.icon-attach:before{content:'\e82d'}
.icon-lock:before{content:'\e82e'}
.icon-lock-open:before{content:'\e82f'}
.icon-lock-open-alt:before{content:'\e830'}
.icon-pin:before{content:'\e831'}
.icon-eye:before{content:'\e832'}
.icon-eye-off:before{content:'\e833'}
.icon-tag:before{content:'\e834'}
.icon-tags:before{content:'\e835'}
.icon-bookmark:before{content:'\e836'}
.icon-bookmark-empty:before{content:'\e837'}
.icon-flag:before{content:'\e838'}
.icon-flag-empty:before{content:'\e93d'}
.icon-flag-checkered:before{content:'\e93e'}
.icon-thumbs-up:before{content:'\e93f'}
.icon-thumbs-down:before{content:'\e940'}
.icon-thumbs-up-alt:before{content:'\e839'}
.icon-thumbs-down-alt:before{content:'\e83a'}
.icon-download:before{content:'\e83b'}
.icon-upload:before{content:'\e83c'}
.icon-download-cloud:before{content:'\e83d'}
.icon-upload-cloud:before{content:'\e83e'}
.icon-reply:before{content:'\e845'}
.icon-reply-all:before{content:'\e840'}
.icon-forward:before{content:'\e856'}
.icon-quote-left:before{content:'\e842'}
.icon-quote-right:before{content:'\e843'}
.icon-export-alt:before{content:'\e846'}
.icon-pencil:before{content:'\e847'}
.icon-pencil-squared:before{content:'\e848'}
.icon-edit:before{content:'\e941'}
.icon-print:before{content:'\e942'}
.icon-retweet:before{content:'\e943'}
.icon-keyboard:before{content:'\e944'}
.icon-gamepad:before{content:'\e849'}
.icon-comment:before{content:'\e84a'}
.icon-chat:before{content:'\e84b'}
.icon-comment-empty:before{content:'\e84c'}
.icon-chat-empty:before{content:'\e84d'}
.icon-bell:before{content:'\e84e'}
.icon-bell-alt:before{content:'\e84f'}
.icon-attention-alt:before{content:'\e850'}
.icon-attention:before{content:'\e851'}
.icon-attention-circled:before{content:'\e852'}
.icon-location:before{content:'\e853'}
.icon-direction:before{content:'\e854'}
.icon-compass:before{content:'\e855'}
.icon-doc:before{content:'\e857'}
.icon-docs:before{content:'\e858'}
.icon-doc-text:before{content:'\e945'}
.icon-file:before{content:'\e946'}
.icon-doc-text-inv:before{content:'\e947'}
.icon-folder-empty:before{content:'\e85a'}
.icon-folder-open-empty:before{content:'\e85b'}
.icon-box:before{content:'\e85c'}
.icon-rss:before{content:'\e85d'}
.icon-rss-squared:before{content:'\e85e'}
.icon-phone:before{content:'\e85f'}
.icon-phone-squared:before{content:'\e860'}
.icon-menu:before{content:'\e861'}
.icon-cog:before{content:'\e862'}
.icon-cog-alt:before{content:'\e863'}
.icon-wrench:before{content:'\e864'}
.icon-basket:before{content:'\e865'}
.icon-calendar:before{content:'\e866'}
.icon-calendar-empty:before{content:'\e867'}
.icon-login:before{content:'\e868'}
.icon-logout:before{content:'\e949'}
.icon-mic:before{content:'\e94a'}
.icon-mute:before{content:'\e94b'}
.icon-volume-off:before{content:'\e94c'}
.icon-volume-down:before{content:'\e869'}
.icon-volume-up:before{content:'\e86a'}
.icon-headphones:before{content:'\e86b'}
.icon-clock:before{content:'\e86c'}
.icon-lightbulb:before{content:'\e86d'}
.icon-block:before{content:'\e86e'}
.icon-resize-full-alt:before{content:'\e870'}
.icon-resize-small:before{content:'\e871'}
.icon-resize-vertical:before{content:'\e872'}
.icon-resize-horizontal:before{content:'\e873'}
.icon-move:before{content:'\e874'}
.icon-zoom-in:before{content:'\e875'}
.icon-zoom-out:before{content:'\e876'}
.icon-down-circled2:before{content:'\e877'}
.icon-up-circled2:before{content:'\e878'}
.icon-down-dir:before{content:'\e94d'}
.icon-up-dir:before{content:'\e94e'}
.icon-left-dir:before{content:'\e94f'}
.icon-right-dir:before{content:'\e950'}
.icon-down-open:before{content:'\e879'}
.icon-left-open:before{content:'\e87a'}
.icon-right-open:before{content:'\e87b'}
.icon-up-open:before{content:'\e87c'}
.icon-angle-left:before{content:'\e87d'}
.icon-angle-right:before{content:'\e87e'}
.icon-angle-up:before{content:'\e87f'}
.icon-angle-down:before{content:'\e880'}
.icon-angle-circled-left:before{content:'\e881'}
.icon-angle-circled-right:before{content:'\e882'}
.icon-angle-circled-up:before{content:'\e883'}
.icon-angle-circled-down:before{content:'\e884'}
.icon-angle-double-left:before{content:'\e885'}
.icon-angle-double-right:before{content:'\e886'}
.icon-angle-double-up:before{content:'\e887'}
.icon-angle-double-down:before{content:'\e888'}
.icon-down:before{content:'\e951'}
.icon-left:before{content:'\e952'}
.icon-right:before{content:'\e953'}
.icon-up:before{content:'\e954'}
.icon-down-big:before{content:'\e889'}
.icon-music:before{content:'\e802'}
.icon-right-big:before{content:'\e88b'}
.icon-up-big:before{content:'\e88c'}
.icon-right-hand:before{content:'\e88d'}
.icon-left-hand:before{content:'\e88e'}
.icon-up-hand:before{content:'\e88f'}
.icon-down-hand:before{content:'\e890'}
.icon-left-circled:before{content:'\e891'}
.icon-right-circled:before{content:'\e892'}
.icon-up-circled:before{content:'\e893'}
.icon-down-circled:before{content:'\e894'}
.icon-cw:before{content:'\e895'}
.icon-ccw:before{content:'\e896'}
.icon-refresh:before{content:'\e897'}
.icon-level-up:before{content:'\e898'}
.icon-level-down:before{content:'\e955'}
.icon-shuffle:before{content:'\e956'}
.icon-exchange:before{content:'\e957'}
.icon-collapse:before{content:'\e958'}
.icon-collapse-top:before{content:'\e899'}
.icon-expand:before{content:'\e89a'}
.icon-play:before{content:'\e89b'}
.icon-play-circled:before{content:'\e89c'}
.icon-play-circled2:before{content:'\e89d'}
.icon-stop:before{content:'\e89e'}
.icon-pause:before{content:'\e800'}
.icon-to-end:before{content:'\e8a0'}
.icon-to-end-alt:before{content:'\e8a1'}
.icon-to-start:before{content:'\e8a2'}
.icon-to-start-alt:before{content:'\e8a3'}
.icon-fast-fw:before{content:'\e8a4'}
.icon-fast-bw:before{content:'\e8a5'}
.icon-eject:before{content:'\e8a6'}
.icon-signal:before{content:'\e8a8'}
.icon-award:before{content:'\e959'}
.icon-desktop:before{content:'\e95a'}
.icon-laptop:before{content:'\e90e'}
.icon-tablet:before{content:'\e95c'}
.icon-mobile:before{content:'\e8a9'}
.icon-inbox:before{content:'\e8aa'}
.icon-globe:before{content:'\e8ab'}
.icon-sun:before{content:'\e8ac'}
.icon-cloud:before{content:'\e8ad'}
.icon-flash:before{content:'\e8ae'}
.icon-moon:before{content:'\e8af'}
.icon-umbrella:before{content:'\e8b0'}
.icon-flight:before{content:'\e8b1'}
.icon-fighter-jet:before{content:'\e8b2'}
.icon-leaf:before{content:'\e8b3'}
.icon-font:before{content:'\e8b6'}
.icon-bold:before{content:'\e8b5'}
.icon-italic:before{content:'\e8b4'}
.icon-text-height:before{content:'\e8b7'}
.icon-text-width:before{content:'\e8b8'}
.icon-align-left:before{content:'\e95d'}
.icon-align-center:before{content:'\e95e'}
.icon-align-right:before{content:'\e95f'}
.icon-align-justify:before{content:'\e960'}
.icon-list:before{content:'\e8b9'}
.icon-indent-left:before{content:'\e8ba'}
.icon-indent-right:before{content:'\e8bb'}
.icon-list-bullet:before{content:'\e8bc'}
.icon-list-numbered:before{content:'\e8bd'}
.icon-strike:before{content:'\e8be'}
.icon-underline:before{content:'\e8bf'}
.icon-superscript:before{content:'\e8c0'}
.icon-subscript:before{content:'\e8c1'}
.icon-table:before{content:'\e8c2'}
.icon-columns:before{content:'\e8c3'}
.icon-crop:before{content:'\e8c4'}
.icon-scissors:before{content:'\e8c5'}
.icon-paste:before{content:'\e8c6'}
.icon-briefcase:before{content:'\e8c7'}
.icon-suitcase:before{content:'\e8c8'}
.icon-ellipsis:before{content:'\e961'}
.icon-ellipsis-vert:before{content:'\e962'}
.icon-off:before{content:'\e963'}
.icon-road:before{content:'\e964'}
.icon-list-alt:before{content:'\e8c9'}
.icon-qrcode:before{content:'\e8ca'}
.icon-barcode:before{content:'\e8cb'}
.icon-book:before{content:'\e8cc'}
.icon-ajust:before{content:'\e8cd'}
.icon-tint:before{content:'\e8ce'}
.icon-check:before{content:'\e8cf'}
.icon-check-empty:before{content:'\e8d0'}
.icon-circle:before{content:'\e8d1'}
.icon-circle-empty:before{content:'\e8d2'}
.icon-asterisk:before{content:'\e8d3'}
.icon-gift:before{content:'\e8d4'}
.icon-fire:before{content:'\e8d5'}
.icon-magnet:before{content:'\e8d6'}
.icon-ticket:before{content:'\e8d8'}
.icon-credit-card:before{content:'\e965'}
.icon-floppy:before{content:'\e966'}
.icon-megaphone:before{content:'\e967'}
.icon-key:before{content:'\e8d9'}
.icon-fork:before{content:'\e8da'}
.icon-rocket:before{content:'\e8db'}
.icon-bug:before{content:'\e8dc'}
.icon-certificate:before{content:'\e8dd'}
.icon-tasks:before{content:'\e8de'}
.icon-filter:before{content:'\e8df'}
.icon-beaker:before{content:'\e8e0'}
.icon-magic:before{content:'\e8e1'}
.icon-truck:before{content:'\e8e2'}
.icon-money:before{content:'\e8e3'}
.icon-euro:before{content:'\e8e4'}
.icon-pound:before{content:'\e8e5'}
.icon-dollar:before{content:'\e8e6'}
.icon-rupee:before{content:'\e8e7'}
.icon-yen:before{content:'\e8e8'}
.icon-renminbi:before{content:'\e8e9'}
.icon-won:before{content:'\e8ea'}
.icon-bitcoin:before{content:'\e8eb'}
.icon-sort:before{content:'\e8ec'}
.icon-sort-down:before{content:'\e8ed'}
.icon-sort-up:before{content:'\e8ee'}
.icon-sort-alt-up:before{content:'\e8ef'}
.icon-sort-alt-down:before{content:'\e8f0'}
.icon-sort-name-up:before{content:'\e8f1'}
.icon-sort-name-down:before{content:'\e8f2'}
.icon-sort-number-up:before{content:'\e8f3'}
.icon-sort-number-down:before{content:'\e8f4'}
.icon-hammer:before{content:'\e8f5'}
.icon-gauge:before{content:'\e8f6'}
.icon-sitemap:before{content:'\e8f7'}
.icon-spinner:before{content:'\e8f8'}
.icon-coffee:before{content:'\e8f9'}
.icon-food:before{content:'\e8fa'}
.icon-beer:before{content:'\e8fb'}
.icon-user-md:before{content:'\e8fc'}
.icon-stethoscope:before{content:'\e8fd'}
.icon-ambulance:before{content:'\e8fe'}
.icon-medkit:before{content:'\e8ff'}
.icon-h-sigh:before{content:'\e900'}
.icon-hospital:before{content:'\e901'}
.icon-building:before{content:'\e902'}
.icon-smile:before{content:'\e903'}
.icon-frown:before{content:'\e904'}
.icon-meh:before{content:'\e905'}
.icon-anchor:before{content:'\e906'}
.icon-terminal:before{content:'\e907'}
.icon-eraser:before{content:'\e908'}
.icon-puzzle:before{content:'\e909'}
.icon-shield:before{content:'\e90a'}
.icon-extinguisher:before{content:'\e90b'}
.icon-bullseye:before{content:'\e90c'}
.icon-resize-full:before{content:'\e90d'}
.icon-target:before{content:'\e8a7'}
.icon-layers:before{content:'\e829'}
.icon-chart-bar:before{content:'\e90f'}
.icon-share:before{content:'\e912'}
.icon-hdd:before{content:'\e841'}
.icon-trash:before{content:'\e89f'}
.icon-folder:before{content:'\e8d7'}
.icon-code:before{content:'\e844'}
.icon-folder-open:before{content:'\e81e'}
.icon-left-big:before{content:'\e88a'}
@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url("../font/OpenSans-Light-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url("../font/OpenSans-Regular-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url("../font/OpenSans-Bold-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url("../font/OpenSans-LightItalic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url("../font/OpenSans-Italic-webfont.woff") format('woff')}@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url("../font/OpenSans-BoldItalic-webfont.woff") format('woff')}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:300;src:local('Open Sans Light'),local('OpenSans-Light'),url('../font/OpenSans-Light-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:400;src:local('Open Sans'),local('OpenSans'),url('../font/OpenSans-Regular-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:normal;font-weight:700;src:local('Open Sans Bold'),local('OpenSans-Bold'),url('../font/OpenSans-Bold-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:300;src:local('Open Sans Light Italic'),local('OpenSansLight-Italic'),url('../font/OpenSans-LightItalic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:400;src:local('Open Sans Italic'),local('OpenSans-Italic'),url('../font/OpenSans-Italic-webfont.svg') format('svg')}}@media screen and (-webkit-min-device-pixel-ratio:0){@font-face{font-family:'Open Sans';font-style:italic;font-weight:700;src:local('Open Sans Bold Italic'),local('OpenSans-BoldItalic'),url('../font/OpenSans-BoldItalic-webfont.svg') format('svg')}}body{-webkit-font-smoothing:antialiased}
.container{margin-bottom:180px}
a code{color:inherit}
h1{font-size:36px}
h2{font-size:30px}
h3{font-size:24px}
h4{font-size:18px}
h5{font-size:14px}
h6{font-size:12px}
h1{margin:60px 0 40px}
h2{margin:50px 0 30px}
h3{margin:35px 0 20px}
h4,h5,h6{margin:25px 0 15px}
p,pre,pre.prettyprint,blockquote{margin:0 0 15px}
hr{margin:30px 0}
code,pre{font-family:Menlo,Consolas,"Courier New",monospace;font-size:12px !important}
pre,pre.prettyprint{border:0 solid #eee;border-left:10px solid #eee;border-radius:0;border-top-right-radius:5px;border-bottom-right-radius:5px;padding:10px 15px}pre code,pre.prettyprint code{background-color:transparent !important}
dt,dd{margin-top:5px;margin-bottom:5px}
dd{margin-left:40px}
table{margin-bottom:20px}
table th,table td{padding:8px;line-height:20px;text-align:left;vertical-align:top;border-top:1px solid #dddddd}
table th{font-weight:bold}
table thead th{vertical-align:bottom}
table caption+thead tr:first-child th,table caption+thead tr:first-child td,table colgroup+thead tr:first-child th,table colgroup+thead tr:first-child td,table thead:first-child tr:first-child th,table thead:first-child tr:first-child td{border-top:0}
table tbody+tbody{border-top:2px solid #dddddd}
blockquote{border-left-width:10px;background-color:#f8f8f8;border-top-right-radius:5px;border-bottom-right-radius:5px;padding:15px 20px}blockquote p{margin-bottom:15px;font-size:14px;line-height:1.428571429}
blockquote ul:last-child,blockquote ol:last-child{margin-bottom:0}
ul,ol{margin-bottom:15px}ul ul,ol ul,ul ol,ol ol{margin-bottom:15px}
kbd{padding:0.1em 0.6em;border:1px solid rgba(0,0,0,0.25);-webkit-box-shadow:0 1px 0 rgba(0,0,0,0.25);box-shadow:0 1px 0 rgba(0,0,0,0.25);font-size:11px;font-family:Arial,Helvetica,sans-serif;background-color:#fff;color:#333;border-radius:3px;display:inline-block;margin:0 0.1em;white-space:nowrap}
.toc ul{list-style-type:none;margin-bottom:5px}
.footnote{vertical-align:top;position:relative;top:-0.5em;font-size:0.8em}
[class^="icon-"],[class*=" icon-"]{display:inline-block;line-height:14px;vertical-align:middle;background-repeat:no-repeat}
.icon-code{font-size:80%}.icon-code:before{margin-left:0.1em;margin-right:0.6em}
.icon-folder-open{font-size:80%}.icon-folder-open:before{margin-right:0.6em}
.icon-chart-bar{font-size:90%}.icon-chart-bar:before{margin-left:0.3em;margin-right:0.3em}
.icon-file{font-size:104%;margin-left:0;margin-right:0}
.icon-link{font-size:104%}
[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons.png");width:18px;height:16px;margin-top:-2px;margin-left:1px}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons2x.png");background-size:256px 16px}}@media only screen and (-webkit-min-device-pixel-ratio:2),only screen and (min--moz-device-pixel-ratio:2),only screen and (-o-min-device-pixel-ratio:2/1),only screen and (min-device-pixel-ratio:2),only screen and (min-resolution:192dpi),only screen and (min-resolution:2dppx){[class^="icon-provider-"],[class*=" icon-provider-"]{background-image:url("../img/icons2x.png");background-size:256px 16px}}
.icon-provider-stackedit{background-position:0 0}
.icon-provider-gdrive,.icon-provider-gdrivesec,.icon-provider-gdriveter{background-position:-18px 0}.icon-provider-gdrive.realtime,.icon-provider-gdrivesec.realtime,.icon-provider-gdriveter.realtime{background-position:-162px 0}
.icon-provider-dropbox{background-position:-37px 0}
.icon-provider-github,.icon-provider-gist{background-position:-54px 0}
.icon-provider-blogger,.icon-provider-bloggerpage{background-position:-72px 0}
.icon-provider-tumblr{background-position:-90px 0}
.icon-provider-wordpress{background-position:-108px 0}
.icon-provider-ssh{background-position:-126px 0}
.icon-provider-gplus{background-position:-144px 0}
body.rtl #wmd-input,body.rtl #preview-contents,body.rtl .input-file-title,body.rtl .search-bar input,body.rtl .modal-document-manager input,body.rtl .container{direction:rtl}
body.pdf{font-family:"DejaVu Sans"}body.pdf code,body.pdf pre{font-family:"DejaVu Sans Mono"}
</style>
</head>
<body><div class="container"><h1 id="user-service-plugin-readme">User Service Plugin Readme</h1>

<p>The User Service Plugin provides the ability to manage users by sending an HTTP request to the server. It is intended to be used by applications automating the user administration process. This plugin’s functionality is useful for applications that need to administer users outside of the Openfire admin console.</p>

<hr>

<p><div class="toc"><div class="toc">
<ul>
<li><a href="#user-service-plugin-readme">User Service Plugin Readme</a><ul>
<li><a href="#feature-list">Feature list</a></li>
<li><a href="#installation">Installation</a></li>
<li><a href="#explanation-of-rest">Explanation of REST</a></li>
<li><a href="#authentication">Authentication</a><ul>
<li><a href="#basic-http-authentication-1">Basic HTTP Authentication</a></li>
<li><a href="#shared-secret-key">Shared secret key</a></li>
</ul>
</li>
<li><a href="#data-types">Data types</a><ul>
<li><a href="#user">User</a></li>
<li><a href="#rosteritem">RosterItem</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#user-related-rest-endpoints">User related REST Endpoints</a><ul>
<li><a href="#get-userserviceusers">GET /userService/users</a><ul>
<li><a href="#possible-parameters">Possible parameters</a></li>
<li><a href="#examples">Examples</a></li>
</ul>
</li>
<li><a href="#get-userserviceusersusername">GET /userService/users/{username}</a><ul>
<li><a href="#possible-parameters-1">Possible parameters</a></li>
<li><a href="#examples-1">Examples</a></li>
</ul>
</li>
<li><a href="#post-userserviceusers">POST /userService/users</a><ul>
<li><a href="#examples-2">Examples</a></li>
</ul>
</li>
<li><a href="#delete-userserviceusersusername">DELETE /userService/users/{username}</a><ul>
<li><a href="#possible-parameters-2">Possible parameters</a></li>
<li><a href="#examples-3">Examples</a></li>
</ul>
</li>
<li><a href="#put-userserviceusersusername">PUT /userService/users/{username}</a><ul>
<li><a href="#possible-parameters-3">Possible parameters</a></li>
<li><a href="#examples-4">Examples</a></li>
</ul>
</li>
<li><a href="#get-userserviceusersusernamegroups">GET /userService/users/{username}/groups</a><ul>
<li><a href="#possible-parameters-4">Possible parameters</a></li>
<li><a href="#examples-5">Examples</a></li>
</ul>
</li>
<li><a href="#post-userserviceusersusernamegroups">POST /userService/users/{username}/groups</a><ul>
<li><a href="#possible-parameters-5">Possible parameters</a></li>
<li><a href="#examples-6">Examples</a></li>
</ul>
</li>
<li><a href="#delete-userserviceusersusernamegroups">DELETE /userService/users/{username}/groups</a><ul>
<li><a href="#possible-parameters-6">Possible parameters</a></li>
<li><a href="#examples-7">Examples</a></li>
</ul>
</li>
<li><a href="#post-userservicelockoutsusername">POST /userService/lockouts/{username}</a><ul>
<li><a href="#possible-parameters-7">Possible parameters</a></li>
<li><a href="#examples-8">Examples</a></li>
</ul>
</li>
<li><a href="#delete-userservicelockoutsusername">DELETE /userService/lockouts/{username}</a><ul>
<li><a href="#possible-parameters-8">Possible parameters</a></li>
<li><a href="#examples-9">Examples</a></li>
</ul>
</li>
<li><a href="#get-userserviceusersusernameroster">GET /userService/users/{username}/roster</a><ul>
<li><a href="#possible-parameters-9">Possible parameters</a></li>
<li><a href="#examples-10">Examples</a></li>
</ul>
</li>
<li><a href="#post-userserviceusersusernameroster">POST /userService/users/{username}/roster</a><ul>
<li><a href="#possible-parameters-10">Possible parameters</a></li>
<li><a href="#examples-11">Examples</a></li>
</ul>
</li>
<li><a href="#delete-userserviceusersusernamerosterjid">DELETE /userService/users/{username}/roster/{jid}</a><ul>
<li><a href="#possible-parameters-11">Possible parameters</a></li>
<li><a href="#examples-12">Examples</a></li>
</ul>
</li>
<li><a href="#put-userserviceusersusernamerosterjid">PUT /userService/users/{username}/roster/{jid}</a><ul>
<li><a href="#possible-parameters-12">Possible parameters</a></li>
<li><a href="#examples-13">Examples</a></li>
</ul>
</li>
<li><a href="#get-userservicepropertieskeyname">GET /userService/properties/{keyname}</a><ul>
<li><a href="#possible-parameters-13">Possible parameters</a></li>
<li><a href="#examples-14">Examples</a></li>
</ul>
</li>
<li><a href="#get-userservicepropertieskeynamekeyvalue">GET /userService/properties/{keyname}/{keyvalue}</a><ul>
<li><a href="#possible-parameters-14">Possible parameters</a></li>
<li><a href="#examples-15">Examples</a></li>
</ul>
</li>
</ul>
</li>
<li><a href="#deprecated-user-service-plugin-readme">(Deprecated) User Service Plugin Readme</a><ul>
<li><a href="#overview">Overview</a></li>
<li><a href="#installation-1">Installation</a></li>
<li><a href="#configuration">Configuration</a></li>
<li><a href="#using-the-plugin">Using the Plugin</a></li>
<li><a href="#sample-html">Sample HTML</a></li>
<li><a href="#server-reply">Server Reply</a></li>
</ul>
</li>
</ul>
</div>
</div>
</p>

<h2 id="feature-list">Feature list</h2>

<ul>
<li>Get overview over all or specific user and to create, update or delete a user</li>
<li>Get overview over all user roster entries and to add, update or delete a roster entry</li>
<li>Add user to a group and remove a user from a group</li>
<li>Lockout or unlock the user (enable / disable)</li>
</ul>

<h2 id="installation">Installation</h2>

<p>Copy userservice.jar into the plugins directory of your Openfire server. The plugin will then be automatically deployed. To upgrade to a new version, copy the new userservice.jar file over the existing file.</p>

<h2 id="explanation-of-rest">Explanation of REST</h2>

<p>To provide a standard way of accessing the data the MUC Service is using REST.</p>

<table>
<thead>
<tr>
  <th>HTTP Method</th>
  <th>Usage</th>
</tr>
</thead>
<tbody><tr>
  <td><strong>GET</strong></td>
  <td>Receive a read-only data</td>
</tr>
<tr>
  <td><strong>PUT</strong></td>
  <td>Overwrite an existing resource</td>
</tr>
<tr>
  <td><strong>POST</strong></td>
  <td>Creates a new resource</td>
</tr>
<tr>
  <td><strong>DELETE</strong></td>
  <td>Deletes the given resource</td>
</tr>
</tbody></table>




<h2 id="authentication">Authentication</h2>

<p>All REST Endpoint are secured by <a href="http://en.wikipedia.org/wiki/Basic_access_authentication">Basic HTTP Authentication</a> or by shared secret key. The configuration can be done in Openfire Admin console under Server &gt; Server Settings &gt; User Service.</p>

<h3 id="basic-http-authentication-1">Basic HTTP Authentication</h3>

<p>To access the endpoints is that required to send the Username and Password of a Openfire Admin account in your header request.</p>

<p>E.g. <strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=  (username: admin / password: 12345)</p>

<p>Example for Jersey Client <br>
<code> <br>
    Client c = Client.create(); <br>
    c.addFilter(new HTTPBasicAuthFilter(user, password)); <br>
</code></p>

<h3 id="shared-secret-key">Shared secret key</h3>

<p>To access the endpoints is that required to send the secret key in your header request. The secret key can be defined in Openfire Admin console under Server &gt; Server Settings &gt; User Service.</p>

<p>E.g. <strong>Header:</strong> Authorization: s3cret</p>

<h2 id="data-types">Data types</h2>



<h3 id="user">User</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>No</td>
  <td>The username of the user</td>
</tr>
<tr>
  <td>name</td>
  <td>Yes</td>
  <td>The name of the user</td>
</tr>
<tr>
  <td>email</td>
  <td>Yes</td>
  <td>The email of the user</td>
</tr>
<tr>
  <td>password</td>
  <td>No</td>
  <td>The password of the user</td>
</tr>
<tr>
  <td>properties</td>
  <td>Yes</td>
  <td>List of properties. Property is a key / value object. The key must to be per user unique</td>
</tr>
</tbody></table>


<h3 id="rosteritem">RosterItem</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Optional</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>jid</td>
  <td>No</td>
  <td>The JID of the roster item</td>
</tr>
<tr>
  <td>nickname</td>
  <td>Yes</td>
  <td>The nickname for the user when used in this roster</td>
</tr>
<tr>
  <td>subscriptionType</td>
  <td>Yes</td>
  <td>The subscription type <br> Possible numeric values are: -1 (remove), 0 (none), 1 (to), 2 (from), 3 (both)</td>
</tr>
<tr>
  <td>groups</td>
  <td>No</td>
  <td>A list of groups to organize roster entries under (e.g. friends, co-workers, etc.)</td>
</tr>
</tbody></table>


<h1 id="user-related-rest-endpoints">User related REST Endpoints</h1>

<h2 id="get-userserviceusers">GET /userService/users</h2>

<p>Endpoint to get all users</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Users</p>

<h3 id="possible-parameters">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>search</td>
  <td>@QueryParam</td>
  <td>Search/Filter by username. <br> This act like the wildcard search %String%</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples">Examples</h3>

<p><strong>Header</strong>: Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/userService/users">http://example.org:9090/plugins/userService/users</a></p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/userService/users?search=testuser">http://example.org:9090/plugins/userService/users?search=testuser</a></p>

<h2 id="get-userserviceusersusername">GET /userService/users/{username}</h2>

<p>Endpoint to get information over specific user</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> User</p>

<h3 id="possible-parameters-1">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-1">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET</strong> <a href="http://example.org:9090/plugins/userService/users/testuser">http://example.org:9090/plugins/userService/users/testuser</a></p>

<h2 id="post-userserviceusers">POST /userService/users</h2>

<p>Endpoint to create a new user</p>

<p><strong>Payload:</strong> User <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>

<h3 id="examples-2">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
<strong>Header:</strong> Content-Type: application/xml</p>

<p><strong>POST</strong> <a href="http://example.org:9090/plugins/userService/users">http://example.org:9090/plugins/userService/users</a></p>

<p><strong>Payload Example 1 (required parameters):</strong></p>

<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;user&gt;</span><span class="pln">
    </span><span class="tag">&lt;username&gt;</span><span class="pln">test3</span><span class="tag">&lt;/username&gt;</span><span class="pln">
    </span><span class="tag">&lt;password&gt;</span><span class="pln">p4ssword</span><span class="tag">&lt;/password&gt;</span><span class="pln">
</span><span class="tag">&lt;/user&gt;</span></code></pre>

<p><strong>Payload Example 2 (available parameters):</strong></p>

<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;user&gt;</span><span class="pln">
    </span><span class="tag">&lt;username&gt;</span><span class="pln">testuser</span><span class="tag">&lt;/username&gt;</span><span class="pln">
    </span><span class="tag">&lt;password&gt;</span><span class="pln">p4ssword</span><span class="tag">&lt;/password&gt;</span><span class="pln">
    </span><span class="tag">&lt;name&gt;</span><span class="pln">Test User</span><span class="tag">&lt;/name&gt;</span><span class="pln">
    </span><span class="tag">&lt;email&gt;</span><span class="pln">test@localhost.de</span><span class="tag">&lt;/email&gt;</span><span class="pln">
    </span><span class="tag">&lt;properties&gt;</span><span class="pln">
        </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">key</span><span class="pun">=</span><span class="atv">"keyname"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"value"</span><span class="tag">/&gt;</span><span class="pln">
        </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">key</span><span class="pun">=</span><span class="atv">"anotherkey"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"value"</span><span class="tag">/&gt;</span><span class="pln">
    </span><span class="tag">&lt;/properties&gt;</span><span class="pln">
</span><span class="tag">&lt;/user&gt;</span></code></pre>

<h2 id="delete-userserviceusersusername">DELETE /userService/users/{username}</h2>

<p>Endpoint to delete a user</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-2">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-3">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/userService/users/testuser">http://example.org:9090/plugins/userService/users/testuser</a></p>

<h2 id="put-userserviceusersusername">PUT /userService/users/{username}</h2>

<p>Endpoint to update / overwrite a user</p>

<p><strong>Payload:</strong> User <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-3">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-4">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
<strong>Header:</strong> Content-Type application/xml</p>

<p><strong>PUT</strong> <a href="http://example.org:9090/plugins/userService/users/testuser">http://example.org:9090/plugins/userService/users/testuser</a></p>

<p><strong>Payload:</strong></p>

<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;user&gt;</span><span class="pln">
    </span><span class="tag">&lt;username&gt;</span><span class="pln">testuser</span><span class="tag">&lt;/username&gt;</span><span class="pln">
    </span><span class="tag">&lt;name&gt;</span><span class="pln">Test User edit</span><span class="tag">&lt;/name&gt;</span><span class="pln">
    </span><span class="tag">&lt;email&gt;</span><span class="pln">test@edit.de</span><span class="tag">&lt;/email&gt;</span><span class="pln">
    </span><span class="tag">&lt;properties&gt;</span><span class="pln">
        </span><span class="tag">&lt;property</span><span class="pln"> </span><span class="atn">key</span><span class="pun">=</span><span class="atv">"keyname"</span><span class="pln"> </span><span class="atn">value</span><span class="pun">=</span><span class="atv">"value"</span><span class="tag">/&gt;</span><span class="pln">
    </span><span class="tag">&lt;/properties&gt;</span><span class="pln">
</span><span class="tag">&lt;/user&gt;</span></code></pre>



<h2 id="get-userserviceusersusernamegroups">GET /userService/users/{username}/groups</h2>

<p>Endpoint to get group names of a specific user</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Groups</p>

<h3 id="possible-parameters-4">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-5">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET </strong> <a href="http://example.org:9090/plugins/userService/users/testuser/groups">http://example.org:9090/plugins/userService/users/testuser/groups</a></p>

<h2 id="post-userserviceusersusernamegroups">POST /userService/users/{username}/groups</h2>

<p>Endpoint to add user to a group(s)</p>

<p><strong>Payload:</strong> Groups <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>

<h3 id="possible-parameters-5">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-6">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
<strong>Header:</strong> Content-Type application/xml</p>

<p><strong>POST</strong> <a href="http://example.org:9090/plugins/userService/users/testuser/groups">http://example.org:9090/plugins/userService/users/testuser/groups</a></p>

<p><strong>Payload:</strong></p>

<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;groups&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">Admins</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">Support</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
</span><span class="tag">&lt;/groups&gt;</span></code></pre>



<h2 id="delete-userserviceusersusernamegroups">DELETE /userService/users/{username}/groups</h2>

<p>Endpoint to remove a user from a group(s)</p>

<p><strong>Payload:</strong> Groups <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-6">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-7">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
<strong>Header:</strong> Content-Type application/xml</p>

<p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/userService/users/testuser/groups">http://example.org:9090/plugins/userService/users/testuser/groups</a> <br>
<strong>Payload:</strong></p>



<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;groups&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">Admins</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">Support</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
</span><span class="tag">&lt;/groups&gt;</span></code></pre>

<h2 id="post-userservicelockoutsusername">POST /userService/lockouts/{username}</h2>

<p>Endpoint to lockout the user from the chat server</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>

<h3 id="possible-parameters-7">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-8">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>POST</strong> <a href="http://example.org:9090/plugins/userService/lockouts/testuser">http://example.org:9090/plugins/userService/lockouts/testuser</a></p>

<h2 id="delete-userservicelockoutsusername">DELETE /userService/lockouts/{username}</h2>

<p>Endpoint to unlock the user</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-8">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-9">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/userService/lockouts/testuser">http://example.org:9090/plugins/userService/lockouts/testuser</a></p>

<h2 id="get-userserviceusersusernameroster">GET /userService/users/{username}/roster</h2>

<p>Endpoint to get roster entries (buddies) from a specific user</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Roster</p>

<h3 id="possible-parameters-9">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-10">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET </strong> <a href="http://example.org:9090/plugins/userService/users/testuser/roster">http://example.org:9090/plugins/userService/users/testuser/roster</a></p>



<h2 id="post-userserviceusersusernameroster">POST /userService/users/{username}/roster</h2>

<p>Endpoint to add a new roster entry</p>

<p><strong>Payload:</strong> RosterItem <br>
<strong>Return value:</strong> HTTP status 201 (Created)</p>

<h3 id="possible-parameters-10">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
</tbody></table>




<h3 id="examples-11">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
<strong>Header:</strong> Content-Type application/xml</p>

<p><strong>POST</strong> <a href="http://example.org:9090/plugins/userService/users/testuser/roster">http://example.org:9090/plugins/userService/users/testuser/roster</a></p>

<p><strong>Payload:</strong> <br>
Payload Example 1 (required parameters):</p>

<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;rosterItem&gt;</span><span class="pln">
    </span><span class="tag">&lt;jid&gt;</span><span class="pln">peter@pan.de</span><span class="tag">&lt;/jid&gt;</span><span class="pln">
</span><span class="tag">&lt;/rosterItem&gt;</span></code></pre>

<p>Payload Example 2 (available parameters):</p>

<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;rosterItem&gt;</span><span class="pln">
    </span><span class="tag">&lt;jid&gt;</span><span class="pln">peter@pan1.de</span><span class="tag">&lt;/jid&gt;</span><span class="pln">
    </span><span class="tag">&lt;nickname&gt;</span><span class="pln">Peter1</span><span class="tag">&lt;/nickname&gt;</span><span class="pln">
    </span><span class="tag">&lt;subscriptionType&gt;</span><span class="pln">3</span><span class="tag">&lt;/subscriptionType&gt;</span><span class="pln">
    </span><span class="tag">&lt;groups&gt;</span><span class="pln">
        </span><span class="tag">&lt;group&gt;</span><span class="pln">Friends</span><span class="tag">&lt;/group&gt;</span><span class="pln">
    </span><span class="tag">&lt;/groups&gt;</span><span class="pln">
</span><span class="tag">&lt;/rosterItem&gt;</span></code></pre>



<h2 id="delete-userserviceusersusernamerosterjid">DELETE /userService/users/{username}/roster/{jid}</h2>

<p>Endpoint to remove a roster entry from a user</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-11">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
<tr>
  <td>jid</td>
  <td>@Path</td>
  <td>JID of the roster item</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-12">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>DELETE</strong> <a href="http://example.org:9090/plugins/userService/users/testuser/roster/peter@pan.de">http://example.org:9090/plugins/userService/users/testuser/roster/peter@pan.de</a></p>

<h2 id="put-userserviceusersusernamerosterjid">PUT /userService/users/{username}/roster/{jid}</h2>

<p>Endpoint to update a roster entry</p>

<p><strong>Payload:</strong> RosterItem <br>
<strong>Return value:</strong> HTTP status 200 (OK)</p>

<h3 id="possible-parameters-12">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>username</td>
  <td>@Path</td>
  <td>Exact username</td>
  <td></td>
</tr>
<tr>
  <td>jid</td>
  <td>@Path</td>
  <td>JID of the roster item</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-13">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU= <br>
<strong>Header:</strong> Content-Type application/xml</p>

<p><strong>PUT</strong> <a href="http://example.org:9090/plugins/userService/users/testuser/roster/peter@pan.de">http://example.org:9090/plugins/userService/users/testuser/roster/peter@pan.de</a></p>

<p><strong>Payload:</strong></p>

<pre class="prettyprint prettyprinted"><code><span class="pun">&lt;?</span><span class="pln">xml version</span><span class="pun">=</span><span class="str">"1.0"</span><span class="pln"> encoding</span><span class="pun">=</span><span class="str">"UTF-8"</span><span class="pln"> standalone</span><span class="pun">=</span><span class="str">"yes"</span><span class="pun">?&gt;</span><span class="pln">
</span><span class="tag">&lt;rosterItem&gt;</span><span class="pln">
    </span><span class="tag">&lt;jid&gt;</span><span class="pln">peter@pan.de</span><span class="tag">&lt;/jid&gt;</span><span class="pln">
    </span><span class="tag">&lt;nickname&gt;</span><span class="pln">Peter Pan</span><span class="tag">&lt;/nickname&gt;</span><span class="pln">
    </span><span class="tag">&lt;subscriptionType&gt;</span><span class="pln">0</span><span class="tag">&lt;/subscriptionType&gt;</span><span class="pln">
    </span><span class="tag">&lt;groups&gt;</span><span class="pln">
        </span><span class="tag">&lt;group&gt;</span><span class="pln">Support</span><span class="tag">&lt;/group&gt;</span><span class="pln">
    </span><span class="tag">&lt;/groups&gt;</span><span class="pln">
</span><span class="tag">&lt;/rosterItem&gt;</span></code></pre>

<h2 id="get-userservicepropertieskeyname">GET /userService/properties/{keyname}</h2>

<p>Endpoint to get users which have the specific property key name</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Users</p>

<h3 id="possible-parameters-13">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>keyname</td>
  <td>@Path</td>
  <td>Property key name</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-14">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET </strong> <a href="http://example.org:9090/plugins/userService/properties/keyname">http://example.org:9090/plugins/userService/properties/keyname</a></p>



<h2 id="get-userservicepropertieskeynamekeyvalue">GET /userService/properties/{keyname}/{keyvalue}</h2>

<p>Endpoint to get users which have the specific property key name and key value</p>

<p><strong>Payload:</strong> none <br>
<strong>Return value:</strong> Users</p>

<h3 id="possible-parameters-14">Possible parameters</h3>

<table>
<thead>
<tr>
  <th>Parameter</th>
  <th>Parameter Type</th>
  <th>Description</th>
  <th>Default value</th>
</tr>
</thead>
<tbody><tr>
  <td>keyname</td>
  <td>@Path</td>
  <td>Property key name</td>
  <td></td>
</tr>
<tr>
  <td>keyvalue</td>
  <td>@Path</td>
  <td>Property key value</td>
  <td></td>
</tr>
</tbody></table>


<h3 id="examples-15">Examples</h3>

<p><strong>Header:</strong> Authorization: Basic YWRtaW46MTIzNDU=</p>

<p><strong>GET </strong> <a href="http://example.org:9090/plugins/userService/properties/keyname/keyvalue">http://example.org:9090/plugins/userService/properties/keyname/keyvalue</a></p>

<h1 id="deprecated-user-service-plugin-readme">(Deprecated) User Service Plugin Readme</h1>



<h2 id="overview">Overview</h2>

<p>The User Service Plugin provides the ability to add,edit,delete users and manage their rosters by sending an http request to the server. It is intended to be used by applications automating the user administration process. This plugin’s functionality is useful for applications that need to administer users outside of the Openfire admin console. An example of such an application might be a live sports reporting application that uses XMPP as its transport, and creates/deletes users according to the receipt, or non receipt, of a subscription fee.</p>

<h2 id="installation-1">Installation</h2>

<p>Copy userservice.jar into the plugins directory of your Openfire server. The plugin will then be automatically deployed. To upgrade to a new version, copy the new userservice.jar file over the existing file.</p>



<h2 id="configuration">Configuration</h2>

<p>Access to the service is restricted with a “secret” that can be viewed and set from the User Service page in the Openfire admin console. This page is located on the admin console under “Server” and then “Server Settings”. This should really only be considered weak security. The plugin was initially written with the assumption that http access to the Openfire service was only available to trusted machines. In the case of the plugin’s author, a web application running on the same server as Openfire makes the request.</p>



<h2 id="using-the-plugin">Using the Plugin</h2>

<p>To administer users, submit HTTP requests to the userservice service. The service address is [hostname]plugins/userService/userservice. For example, if your server name is “example.com”, the URL is <a href="http://example.com/plugins/userService/userservice">http://example.com/plugins/userService/userservice</a></p>

<p>The following parameters can be passed into the request:</p>

<table>
<thead>
<tr>
  <th>Name</th>
  <th></th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>type</td>
  <td>Required</td>
  <td>The admin service required. Possible values are ‘add’, ‘delete’, ‘update’, ‘enable’, ‘disable’, ‘add_roster’, ‘update_roster’, ‘delete_roster’, ‘grouplist’, ‘usergrouplist’.</td>
</tr>
<tr>
  <td>secret</td>
  <td>Required</td>
  <td>The secret key that allows access to the User Service.</td>
</tr>
<tr>
  <td>username</td>
  <td>Required</td>
  <td>The username of the user to ‘add’, ‘delete’, ‘update’, ‘enable’, ‘disable’, ‘add_roster’, ‘update_roster’, ‘delete_roster’. ie the part before the @ symbol.</td>
</tr>
<tr>
  <td>password</td>
  <td>Required for ‘add’ operation</td>
  <td>The password of the new user or the user being updated.</td>
</tr>
<tr>
  <td>name</td>
  <td>Optional</td>
  <td>The display name of the new user or the user being updated. For ‘add_roster’, ‘update_roster’ operations specifies the nickname of the roster item.</td>
</tr>
<tr>
  <td>email</td>
  <td>Optional</td>
  <td>The email address of the new user or the user being updated.</td>
</tr>
<tr>
  <td>groups</td>
  <td>Optional</td>
  <td>List of groups where the user is a member. Values are comma delimited. When used with types “add” or “update”, it adds the user to shared groups and auto-creates new groups. When used with ‘add_roster’ and ‘update_roster’, it adds the user to roster groups provided the group name does not clash with an existing shared group.</td>
</tr>
<tr>
  <td>item_jid</td>
  <td>Required for ‘add_roster’, ‘update_roster’, ‘delete_roster’ operations.</td>
  <td>The JID of the roster item</td>
</tr>
<tr>
  <td>subscription</td>
  <td>Optional</td>
  <td>Type of subscription for ‘add_roster’, ‘update_roster’ operations. Possible numeric values are: -1(remove), 0(none), 1(to), 2(from), 3(both).</td>
</tr>
</tbody></table>




<h2 id="sample-html">Sample HTML</h2>

<p>The following example adds a user</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com">http://example.com:9090/plugins/userService/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com</a></p>

<p>The following example adds a user, adds two shared groups (if not existing) and adds the user to both groups.</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com&amp;groups=support,finance">http://example.com:9090/plugins/userService/userservice?type=add&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=franz@kafka.com&amp;groups=support,finance</a></p>

<p>The following example deletes a user and all roster items of the user.</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=delete&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/userService/userservice?type=delete&amp;secret=bigsecret&amp;username=kafka</a></p>

<p>The following example disables a user (lockout)</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=disable&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/userService/userservice?type=disable&amp;secret=bigsecret&amp;username=kafka</a></p>

<p>The following example enables a user (removes lockout)</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=enable&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/userService/userservice?type=enable&amp;secret=bigsecret&amp;username=kafka</a></p>

<p>The following example updates a user</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=update&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=beetle@kafka.com">http://example.com:9090/plugins/userService/userservice?type=update&amp;secret=bigsecret&amp;username=kafka&amp;password=drowssap&amp;name=franz&amp;email=beetle@kafka.com</a></p>

<p>The following example adds new roster item with subscription ‘both’ for user ‘kafka’</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3">http://example.com:9090/plugins/userService/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3</a></p>

<p>The following example adds new roster item with subscription ‘both’ for user ‘kafka’ and adds kafka to roster groups ‘family’ and ‘friends’</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3&amp;groups=family,friends">http://example.com:9090/plugins/userService/userservice?type=add_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=3&amp;groups=family,friends</a></p>

<p>The following example updates existing roster item to subscription ‘none’ for user ‘kafka’</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=update_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=0">http://example.com:9090/plugins/userService/userservice?type=update_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com&amp;name=franz&amp;subscription=0</a></p>

<p>The following example deletes a specific roster item ‘franz@kafka.com’ for user ‘kafka’</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=delete_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com">http://example.com:9090/plugins/userService/userservice?type=delete_roster&amp;secret=bigsecret&amp;username=kafka&amp;item_jid=franz@example.com</a></p>

<p>The following example gets all groups</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=grouplist&amp;secret=bigsecret">http://example.com:9090/plugins/userService/userservice?type=grouplist&amp;secret=bigsecret</a> <br>
Which replies an XML group list formatted like this:</p>



<pre class="prettyprint prettyprinted"><code><span class="tag">&lt;result&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">group1</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">group2</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
</span><span class="tag">&lt;/result&gt;</span></code></pre>

<p>The following example gets all groups for a specific user</p>

<p><a href="http://example.com:9090/plugins/userService/userservice?type=usergrouplist&amp;secret=bigsecret&amp;username=kafka">http://example.com:9090/plugins/userService/userservice?type=usergrouplist&amp;secret=bigsecret&amp;username=kafka</a> <br>
Which replies an XML group list formatted like this:</p>



<pre class="prettyprint prettyprinted"><code><span class="tag">&lt;result&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">usergroup1</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
    </span><span class="tag">&lt;groupname&gt;</span><span class="pln">usergroup2</span><span class="tag">&lt;/groupname&gt;</span><span class="pln">
</span><span class="tag">&lt;/result&gt;</span></code></pre>

<p>* When sending double characters (Chinese/Japanese/Korean etc) you should URLEncode the string as utf8. <br>
In Java this is done like this <br>
URLEncoder.encode(username, “UTF-8”));  <br>
If the strings are encoded incorrectly, double byte characters will look garbeled in the Admin Console.</p>



<h2 id="server-reply">Server Reply</h2>

<p>The server will reply to all User Service requests with an XML result page. If the request was processed successfully the return will be a “result” element with a text body of “OK”, or an XML grouplist formatted like in the example for “grouplist” and “usergrouplist” above. If the request was unsuccessful, the return will be an “error” element with a text body of one of the following error strings.</p>

<table>
<thead>
<tr>
  <th>Error String</th>
  <th>Description</th>
</tr>
</thead>
<tbody><tr>
  <td>IllegalArgumentException</td>
  <td>One of the parameters passed in to the User Service was bad.</td>
</tr>
<tr>
  <td>UserNotFoundException</td>
  <td>No user of the name specified, for a delete or update operation, exists on this server. For ‘update_roster’ operation, roster item to be updated was not found.</td>
</tr>
<tr>
  <td>UserAlreadyExistsException</td>
  <td>A user with the same name as the user about to be added, already exists. For ‘add_roster’ operation, roster item with the same JID already exists.</td>
</tr>
<tr>
  <td>RequestNotAuthorised</td>
  <td>The supplied secret does not match the secret specified in the Admin Console or the requester is not a valid IP address.</td>
</tr>
<tr>
  <td>UserServiceDisabled</td>
  <td>The User Service is currently set to disabled in the Admin Console.</td>
</tr>
<tr>
  <td>SharedGroupException</td>
  <td>Roster item can not be added/deleted to/from a shared group for operations with roster.</td>
</tr>
</tbody></table>












































































































</div></body>
</html>